安裝自己的Git Server,授權後推送程式碼

安裝自己的Git Server,授權後推送程式碼

我正在嘗試在 RedHat 6.5 機器中安裝 Git 伺服器,
我正在遵循本教程:1,2,3,說實話,我讀得越多,事情就越變得晦澀難懂。

如果我要建立一個 git 用戶,它將成為主儲存庫的擁有者並負責提交,我如何防止開發人員推送錯誤的程式碼(gitolite,有更新的東西嗎?)?
git 伺服器最簡單的配置是什麼(我喜歡 gitlab,但我的老闆不會允許),同時僅在程式碼經過審查並授予推送權限時才允許開發人員推送。

注意:所有開發人員都可以透過 ssh 存取伺服器。我已經收集了他們的 ssh.pub 金鑰

答案1

回答你的問題:

如果我要建立一個 git 用戶,它將成為主儲存庫的擁有者並負責提交,那麼如何防止開發人員推送錯誤的程式碼?

答案是不建立 git 使用者。您可以使用標準 UNIX 使用者和群組控制對遠端儲存庫的存取權限。由於 git 透過 SSH 推送工作,只要您可以透過 SSH 連接到託管儲存庫的伺服器,並且您可以透過伺服器上的帳戶讀取儲存庫,就可以從儲存庫中讀取、複製和拉取。如果您也對儲存庫具有寫入權限,則也可以推送提交。

答案2

git 中預設啟用的功能之一是:

git push --force

在正常情況下,您應該始終透過以下方式在儲存庫中停用此功能:

git config --system receive.denyNonFastForwards true

當您可能有很多拉取請求時,合併工作流程場景可能會出現問題,但最好的解決方案總是有良好的合併和分離的開發任務,其中開發人員真正可以理解git 並且不會提交那麼多(主要是因為他們不了解本質)版本控制),如果可以的話,衝突就會減少。良好的培訓和理解永遠是最好的。您也可以透過本地變基提交來防止這種情況。第二個選擇可能是 Github。在這種情況下,您不會讓多個維護者推送到權威儲存庫上的重要分支

相關內容