2016-12-13 82 views
1

我們爲一家公司提供開發服務,他們也從另一家公司獲得服務,他們不希望他們知道我們。在兩個遠程存儲庫上使用GIT

他們正在使用我已經完全訪問(但我必須避免寫任何東西)的git存儲庫,還有我們自己開發的另一個存儲庫。

我想每週更新一次我們的主分支的代碼,同時我想繼續將我們的開發推向另一個分支。過了一段時間,其他公司的開發完成後,我計劃將我們的開發項目合併到我們的主分公司準備發佈。

同時保持其他公司的發展歷史將是偉大的!

我使用SourceTree作爲GIT接口,它的任何指令也會很棒!

我應該遵循什麼樣的流程?

回答

1

由於您需要從其他公司的分支合併到主分支,因此這是一個無關歷史合併。但SourceTree不支持合併--allow-unrelated-history,所以你最好使用git command line。下面是供你參考的git命令:

git clone <URL for your own repo> 
git remote add otherrepo <URL for the other company’s repo> 
git pull otherrepo          #pull otherrepo to your local repo 
git merge otherrepo/master --allow-unrelated-histories #merge otherrepo’s master branch to your local master branch 

其他公司的回購更新後,您需要再次使用git pull otherreopgit merge otherrepo/master --allow-unrelated-histories

完成所有事情後,您可以使用git checkout mastergit merge develop將開發分支合併到主分支。

0

您的本地回購可以指向多個遠程回購。 指向遠程回購的對象稱爲「遠程」。 通常情況下,您從中克隆的遠程回購將在本地回購中被命名爲原產地。 您可以使用不同的名稱(例如客戶來源)創建一個遙控器。 然後,您可以從客戶來源克隆,創建一個本地分支來處理,並將該分支推送到您公司的回購(可能稱爲來源)。 然後,當您想從客戶進行更新時,請切換回您從中克隆的分支,然後從名爲客戶來源的遠程客戶端拉出。 然後你可以將它合併到你的開發分支。 在sourcetree中,我已經閱讀過settings-> add是添加新的遠程程序的地方,但我不是使用源碼樹的專家。

0

首先,你可以添加其他公司代表爲新的遠程

git remote add companyName https://github.com/user/repo.git 

對於每週更新:

  1. 混帳拉的companyName主
  2. 在SourceThree你可以把一個標籤在這裏控制更新:)
  3. git push origin master

如果這是更改主設備的唯一方法,則不會產生任何衝突。我想這個修補程序將發生在companyName主


發行合併:

就合併其正常使用:git merge dev和解決衝突。


希望它有助於

編輯:

PS:您還可以在開發和發佈使用 '混帳流' ......它會防止一些問題xD

相關問題