2013-04-10 120 views
5

我在github中有一個(私人)項目,其中一組開發人員提交更改。一位客戶現在要求在他們自己的系統副本上開發一些沉重的自定義功能。一個新的團隊將在這個項目上工作,但我不希望這個團隊有權訪問原始的存儲庫。所以我在github上創建了一個新的存儲庫,並使用原始項目的代碼對它進行了初始化。git維護同一個項目的2個版本,每個用戶都有不同的用戶

但是,我仍然希望第二個項目能夠在原始項目上完成更新。我如何設置存儲庫以滿足此需求?

另外,如果我要保留一個項目,是否有辦法讓新團隊只訪問它的特定分支?

+0

他們需要以某種方式訪問​​原始存儲庫。我認爲你的意思是他們需要有隻讀訪問權限。據推測這是一個私人存儲庫,否則這個問題就沒有任何意義。 – 2013-04-10 10:15:53

+0

是的,這是一個私人回購。我不想讓他們訪問原始項目,即使是隻讀的,因爲它包含與他們有權訪問的代碼無關的其他數據(一些額外的文件,分支機構) – periklis 2013-04-10 10:20:38

回答

5

我遵循了關於this site的建議。我在這裏重複該過程有興趣的人: 假設原項目在了projectA簽出,並將項目B衍生項目:

我第一次做的事:

cd path/to/projectB 
git remote add orig_project path/to/projectA 
git fetch orig_project 
git merge orig_project/master -X theirs 
git push 

現在,每當我需要同步從了projectA到項目B的變化時,我做的:

git fetch orig_project 
git merge orig_project/master 
git push 

orig_project可以是ything。我第一次使用-X theirs,因爲否則所有提取的更改衝突

0

你在找什麼叫做分支(我看到你在使用它)。

https://help.github.com/articles/branching-out http://learn.github.com/p/branching.html

一旦你的分支機構你不需要一個新的代碼庫,你可以用叉子(告訴他們爲你的項目),並通過這種方式,他們可以得到更新

閱讀MROE這裏: Definition of "downstream" and "upstream"

+0

如何防止第二個團隊訪問原始代碼庫?我希望他們能夠訪問項目的單個分支 – periklis 2013-04-10 10:22:09

1

將其他數據從存儲庫中取出。建立一個只有您希望他們能夠看到的文件和分支的新存儲庫,並從舊存儲庫中刪除它們。然後give them read-only access to the new repository.

+0

這確實是一個可行的替代方案,我會考慮它 – periklis 2013-04-10 10:51:05

相關問題