日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

git锁和钩子以及图形化界面

發布時間:2025/6/17 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 git锁和钩子以及图形化界面 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、鎖機制 Locking Options

?

  嚴格鎖(strict locking):一個時刻,只有一個人可以占用資源。

?

  樂觀鎖(optimistic locking):允許多個人同時修改同一文件。樂觀鎖基于一個假定:大多數時候,這種并發修改不會引起沖突。

?

2、Git可以定制一些鉤子,這些鉤子可以在特定的情況下被執行,分為Client端的鉤子和Server端的鉤子。Client端鉤子被operation觸發,比如commit,merge等,Server端鉤子被網絡動作觸發,比如pushed commits。

那么鉤子是放在哪的呢?

在.git/hooks/文件夾下。當你init一個倉庫的時候,下邊會有一些鉤子的例子,以.sample結尾,都是些sh文件

?

3、在某個分支下使用命令gitk,可以看到這個分支的提交信息

使用git gui命令可以看到git的圖形化用戶界面

?

除了 Git 命令,權限控制也是 Git 中極為重要的組成部分,本文主要介紹 GitLab 系統提供的最常用的權限控制功能。

分配成員角色

首先來了解下,Git 中的五種角色:

角色描述
OwnerGit 系統管理員
MasterGit 項目管理員
DeveloperGit 項目開發人員
ReporterGit 項目測試人員
Guest訪客

每一種角色所擁有的權限都不同,如下圖:

我們需要做的是,為項目成員分配恰當的角色,以限制其權限。

鎖定受保護分支

在對 Git 不熟悉的時候,時常苦惱于各個分支不受約束,任何開發人員都可以向任何分支直接推送任何提交,各種未經審查的代碼、花樣百出的 Bug 就這樣流竄在預發布分支上。

其實我們可以通過 GitLab 的?受保護分支(Protected Branches)?功能解決該問題,該功能可用于:

  • 阻止 Master 角色以外的開發人員直接向此類分支推送代碼,保持穩定分支的安全性;
  • 在向受保護分支合并代碼前,強制進行代碼審查。

接下來我們就使用這項功能,鎖定我們的受保護分支——主分支?master?和預發布分支?release-*?,以阻止 Developer 直接向這兩類分支中推送代碼:

鎖定后,Developer 推送代碼將會報錯:

$ git push origin master Counting objects: 4, done. Delta compression using up to 4 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 283 bytes | 0 bytes/s, done. Total 3 (delta 1), reused 1 (delta 0) remote: GitLab: You are not allowed to access master! remote: error: hook declined to update refs/heads/master To git@website:project.git ! [remote rejected] master -> master (hook declined) error: failed to push some refs to 'git@website:project.git'

發起合并請求

鎖定受保護分支后,要么 Master 需要時刻、主動關注各特性分支的進度,要么 Developer 需要線下、口頭向 Master 匯報其特性分支的進度,這兩種做法都非常不便于 Master 管理每個預發布分支的合并,尤其在團隊大、分支多的情況。

我們可以通過 GitLab 的?發起合并請求(Merge Request)?功能解決該問題,這樣既可以讓 Developer 更自如的掌控自己分支進度,在必要的時候才主動發起合并請求;又可以減輕 Master 的合并工作量和溝通成本,可謂一舉兩得。

新建合并請求

第一步,按表單要求填寫合并請求。注意,對于 Developer 而言:

  • From?是你的特性分支?feature-*?;
  • To?只可能是預發布分支?release-*?;
  • Title?和?Description?要填寫恰當的分支描述;
  • Assign to?是該項目的 Master。

審查合并請求

第二步,Master 收到合并請求后,進行代碼審查。逐一查看?Commits?一欄提交的內容即可,對于需要改進的代碼,可以直接在該行添加注釋,非常方便。

如果對整個請求還有疑問的地方,還可以通過底部的?Discussion?功能進行線上討論。

處理合并請求

第三步,針對審查結果進行相應處理:

關閉

對于完全不合格的垃圾代碼、或者廢棄的特性分支的合并請求,Master 點擊右上角的?Close按鈕即可。合并請求將被關閉,相當于扔進回收站。

改進

對于分支內需改進的代碼,Developer 直接修正并推送即可,合并請求將會自動包含最新的推送提交。

接受

Master 審查無誤后,可以接受該次合并請求。點擊?Accept Merge Request?按鈕將自動合并分支,勾選?Remove source-branch?將同時刪除該特性分支。

整個自動合并過程如果以命令形式手工執行的話,步驟如下:

#Step 1. Update the repo and checkout the branch we are going to merge git fetch origin git checkout -b test origin/feature-test#Step 2. Merge the branch and push the changes to GitLab git checkout release-2016.4.7 git merge --no-ff feature-test git push origin release-2016.4.7

以非快進式合并完成后,祖先圖譜(graph)的展現結果如下:

* be512fa (HEAD, origin/release-2016.4.7, release-2016.4.7) Merge branch 'test' into 'release-2016.4.7' |\ | * 1f52adf 測試 |/ * a4febbb (tag: 1.0.0, origin/master) 格式化貨幣保留兩位小數

最后需要注意的是,只有?Assignee?才能夠接受合并請求,其它人只會被通知:

You don’t have permission to merge this MR

總結

GitLab 提供的上述功能非常實用,為項目的源碼管理提供了有力的支持。

?

?http://blog.csdn.net/hongchangfirst/article/details/46693237

轉載于:https://www.cnblogs.com/shengulong/p/8325302.html

總結

以上是生活随笔為你收集整理的git锁和钩子以及图形化界面的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日本一区二区成人 | 久久久午夜视频 | 精品人妻少妇嫩草av无码 | 亚洲熟女一区二区三区 | 影音先锋成人网 | 日韩在线www | 成人高潮片免费 | 天天干天天色 | 久久中出 | av在线播放一区二区三区 | 国产黄色大片在线观看 | 色婷婷av一区二区三区软件 | 久精品免费视频 | 欧美美女性生活 | 精品国产乱子伦一区二区 | 天堂成人在线视频 | 日韩国产欧美一区二区三区 | 男女av免费| 日本一级片在线播放 | 天天爽天天色 | 国产精品操 | av 日韩 人妻 黑人 综合 无码 | 亚洲a在线视频 | 国产一区二区三区在线观看 | 亚洲国产精品久久人人爱 | 国产精品美女久久久久久久 | 精品久久无码视频 | 三级网站在线看 | 免费人成网 | 久久av免费观看 | 成人免费精品视频 | 色导航在线 | 亚洲精品国产精品乱码在线观看 | 日韩精品视频网 | youjizz在线视频 | 精品一区二区三区在线播放 | 日本一级理论片在线大全 | 国产精品久久av无码一区二区 | 国产综合免费视频 | 久久久久亚洲av成人网人人软件 | 污污视频网站在线免费观看 | 亚洲精品一区二区三区蜜桃 | av动漫在线免费观看 | 国产精品夜夜夜爽张柏芝 | 欧美在线xxx| 亚洲一线二线在线观看 | 国产精品电影一区 | 先锋资源一区 | 91插插插视频 | 久久久久亚洲无码 | 午夜视频福利在线观看 | 91在线播放视频 | 欧美性一区二区三区 | 麻豆精品在线视频 | 欧美综合精品 | 国产成人激情 | 偷拍一区二区三区四区 | 精品中文一区二区三区 | 美女脱了内裤喂我喝尿视频 | 91们嫩草伦理 | 日本变态折磨凌虐bdsm在线 | jizz欧美性11| 五月天天 | 成人在线视频免费 | 夜夜摸夜夜爽 | 国产精品日韩 | 日韩在线视频一区二区三区 | 亚洲精华国产精华精华液网站 | 一本色道久久综合无码人妻 | 免费成人深夜小野草 | 欧美日本 | 毛片内射久久久一区 | 可以看污的网站 | 国产一级一片免费播放放a 丁香六月色 | 风韵少妇性饥渴推油按摩视频 | 国产精品区一区二区三 | 天天干天天色 | 日韩免费视频一区二区视频在线观看 | 正在播放老肥熟妇露脸 | 亚洲色图36p | √天堂资源在线 | 人妻少妇被猛烈进入中文字幕 | 免费观看h片 | 成人午夜免费福利视频 | 国产偷人 | 三级成人在线 | 德国老妇性猛交 | 国产乱淫av片杨贵妃 | 艳妇臀荡乳欲伦交换在线看 | 中文字幕一区二区三区人妻四季 | 草莓视频成人在线 | 99视频一区| 一级成人黄色片 | 在线看av网址 | 国产福利免费看 | 天堂少妇| 欧美无遮挡| 想要xx视频 | 就要操就要射 |