我希望我的團隊能夠單獨在我們的服務器上使用相同的已簽出的回購協議來提取更新。是否有可能擁有多個個人用戶能夠從他們自己的賬戶進行拉/合併請求的回購副本?可能爲多個用戶使用相同的git checkout?
回答
爲我工作的計劃是(因爲這是已經簽出的回購協議)運行git config core.sharedRepository true
將回購設置爲共享回購協議。然後我通過並確保所有的git文件都是chmod
到664,並且所有的文件夾都是chmod
到775,以允許git在用戶之間正確工作的組可寫性。然後,只需讓每個用戶在其個人文件夾中爲電子郵件地址,名稱等設置自己的用戶級別git配置。
注意:世界可讀性和回購協議中某些文件的所有權仍需維護,因爲在這種情況下,所討論的回購服務由我們的開發服務器(Apache)提供。
希望這有助於!
該解決方案適用於我們的情況。謝謝!!! – wajiw 2012-01-05 15:18:07
他們都可以使用相同的用戶進行身份驗證,然後簡單地更改作者的提交。
從手冊頁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.
答案很短:是。
這是分支如何工作的基礎,例如在GitHub上。它們只是單獨的存儲庫,每個開發人員都可以擁有自己的存儲庫,對此沒有限制。對於一些(或全部)開發人員來說,可以有一個(或更多,如果有人希望的話)存儲庫具有隻讀訪問權限,作爲生產存儲庫,所有更改都需要由高級開發人員(或其他適當的人員)提取。
此外,這種叉子可以作爲所謂的「遙控器」(遠程存儲庫)添加到本地,而只讀的可用於每天提取更改,其中讀寫應用於推送/保存更改。 拉請求可以使用各種軟件 - 例如。 GitHub具有單獨的功能。 一般而言,拉取請求是一種要求將更改拉入沒有「寫入」權限的存儲庫的方法。擁有「寫入」權限的人可能會接受,評論,更改或拒絕等,讓您更好地控制此類代碼庫所發生的情況。
這裏的線索是,Git是一個分佈式版本控制系統,你可以有多個存儲庫,以你想要的方式來組織它們。一些存儲庫可以爲您的開發人員提供可讀寫的存儲庫,其中一些可以是隻讀存儲庫。
還有一個由@BeRecursive提到的概念:進行提交的用戶不一定是將更改上傳到存儲庫的用戶。但這是完全不同的想法,它很容易被愚弄,因此我認爲你不應該依賴這種方法。
首先,我建議您從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是其中一個更高級的選項。
感謝您的回答!我一定會看看那本書。 – wajiw 2012-01-05 15:20:03
- 1. git checkout的用途
- 2. 當多個用戶在git上修改相同的源代碼
- 3. 多個程序使用相同的UDP端口?可能?
- 4. GIT中:一個git的用戶能夠控制多個物理用戶
- 5. 與上游同步叉:git fetch + git checkout + git merge與git checkout + git pull
- 6. git checkout vs git checkout HEAD vs git checkout <CURRENT BRANCH> vs git checkout - <WORKING DIR>
- 7. Git/Sourcetree使用相同的基礎管理多個項目
- 8. 爲多個用戶創建相同的應用程序
- 9. 爲什麼我會用git checkout --detach
- 10. Django:多個用戶使用相同的視圖和模板
- 11. 使用相同的用戶名創建多個上傳
- 12. 使用相同的用戶表單填充多個表VBA Excel
- 13. 的Java EE - 使用相同的狀態的對象爲多個用戶
- 14. 爲相同的用戶
- 15. Socket.IO,多個用戶不同的功能
- 16. xcode4:如何使用「git存儲庫」與不同計算機上的多個用戶共享相同的項目?
- 17. 蟒蛇嘗試用相同的可能錯誤多個語句
- 18. 使兩個分支完全相同git
- 19. git revert和git checkout
- 20. 同時爲多個用戶同步ArrayList
- 21. ASP.NET服務器可以爲多個用戶生成相同的GUID嗎?
- 22. 空的.git/info/sparse-checkout與缺少的不同,但是相反,爲什麼?
- 23. Git:可能通過多個項目使用相同的子模塊工作副本?
- 24. 在多個不同的Laravel安裝上使用相同的用戶憑據?
- 25. 使用相同的PNG多個CCSpriteBatchNode(cocos2d)
- 26. 使用相同的jQuery功能的多個下拉菜單
- 27. jQuery的:使用相同功能的多個ID
- 28. 相當於git checkout branch_name在LibGit2Sharp上
- 29. 我可以在多個開發者帳戶中使用相同的iDevice嗎?
- 30. 通過使用Java的相同用戶帳戶訪問多個電子郵箱
爲什麼git-svn標籤? – fge 2012-01-04 21:02:01
是啊,該標籤不應該在那裏=) – wajiw 2012-01-04 21:16:49