2012-01-04 92 views
2

我希望我的團隊能夠單獨在我們的服務器上使用相同的已簽出的回購協議來提取更新。是否有可能擁有多個個人用戶能夠從他們自己的賬戶進行拉/合併請求的回購副本?可能爲多個用戶使用相同的git checkout?

+0

爲什麼git-svn標籤? – fge 2012-01-04 21:02:01

+0

是啊,該標籤不應該在那裏=) – wajiw 2012-01-04 21:16:49

回答

3

爲我工作的計劃是(因爲這是已經簽出的回購協議)運行git config core.sharedRepository true將回購設置爲共享回購協議。然後我通過並確保所有的git文件都是chmod到664,並且所有的文件夾都是chmod到775,以允許git在用戶之間正確工作的組可寫性。然後,只需讓每個用戶在其個人文件夾中爲電子郵件地址,名稱等設置自己的用戶級別git配置。

注意:世界可讀性和回購協議中某些文件的所有權仍需維護,因爲在這種情況下,所討論的回購服務由我們的開發服務器(Apache)提供。

希望這有助於!

+0

該解決方案適用於我們的情況。謝謝!!! – wajiw 2012-01-05 15:18:07

0

他們都可以使用相同的用戶進行身份驗證,然後簡單地更改作者的提交。

從手冊頁git commit

--author=<author> 
Override the author name used in the commit. 
You can use the standard A U Thor <[email protected] [1] > format. 
Otherwise, an existing commit that matches the given string and its author name is used. 
0

答案很短:

這是分支如何工作的基礎,例如在GitHub上。它們只是單獨的存儲庫,每個開發人員都可以擁有自己的存儲庫,對此沒有限制。對於一些(或全部)開發人員來說,可以有一個(或更多,如果有人希望的話)存儲庫具有隻讀訪問權限,作爲生產存儲庫,所有更改都需要由高級開發人員(或其他適當的人員)提取。

此外,這種叉子可以作爲所謂的「遙控器」(遠程存儲庫)添加到本地,而只讀的可用於每天提取更改,其中讀寫應用於推送/保存更改。 拉請求可以使用各種軟件 - 例如。 GitHub具有單獨的功能。 一般而言,拉取請求是一種要求將更改拉入沒有「寫入」權限的存儲庫的方法。擁有「寫入」權限的人可能會接受,評論,更改或拒絕等,讓您更好地控制此類代碼庫所發生的情況。

這裏的線索是,Git是一個分佈式版本控制系統,你可以有多個存儲庫,以你想要的方式來組織它們。一些存儲庫可以爲您的開發人員提供可讀寫的存儲庫,其中一些可以是隻讀存儲庫。

還有一個由@BeRecursive提到的概念:進行提交的用戶不一定是將更改上傳到存儲庫的用戶。但這是完全不同的想法,它很容易被愚弄,因此我認爲你不應該依賴這種方法。

1

首先,我建議您從Pro Git書中閱讀Distributed Workflows chapter,並首先確保您瞭解最適合您團隊的工作流程。

我在一個小團隊中,我們使用與您建議的大部分相同的設置。有一個回報,所有的工作最終都會被拖入。有多個用戶使用單獨的unix賬戶拉取,合併,並推送他們自己的分支。

下面是基本步驟:

  • 確保每個人的登錄是在機器上的同一組,例如 爲project_dev
  • chown -R :project_dev <git_location>確保git回購 這是每個人的帳戶accessabile。
  • 之後,你確保git倉庫配置正確 與:git repo-config core.sharedRepository true這使得每個人都推到倉庫,而不會導致與推送對象的潛在權限衝突。

在您處理完這些事情之後,用戶可以使用sftp或本地文件uri與自己的帳戶一起使用該回購。有很多更高級的方式來處理帳戶權限與git,但這是最簡單的。查看Pro Git書籍和谷歌的一些其他選擇,Gitolite是其中一個更高級的選項。

+0

感謝您的回答!我一定會看看那本書。 – wajiw 2012-01-05 15:20:03

相關問題