2009-11-19 107 views
1

Git中的子樹很好地工作,儘管一些git命令仍然支持子樹。使用Git如何合併遠程分支的子樹

這裏的問題:

如何從類似「穩定」,「整合」不同的遠程分支使樹拉?


僅供參考,我們有一個subtree "push"作爲腳本工作。事實上,它甚至可以將子樹推送到遠程存儲庫上我們選擇的特定分支。

是否有人知道如何做一個拉相反,甚至有線索?

簡單的拉是這樣的:

git pull -s subtree remotebranch 

一個想法,可以嘗試:也許2個步驟就可以了。

  1. 遠程分支會從遠程倉庫分支,如「stable」,然後
  2. git subtree pullmaster拉?

真誠, 韋恩

+0

如果子樹方法在您的情況下不夠用,您可能需要考慮管理拉和推的子模塊。 – VonC 2009-11-19 16:22:14

+0

我很高興你能用這個'subtree'腳本來解決這個推送問題。我將在GitHub上關注此項目;) – VonC 2009-11-21 09:42:33

回答

3

可能是(未測試)的git subtree script tool這可能有所幫助。
看到它man page

它可以合併/在你自己的回購拉一個子項目,但它可能涉及所有部門,因此可能仍然需要你的兩個步驟的過程。

+0

謝謝。它可能有幫助。很明顯,我們需要對子樹更加「整體」的方法,以便像「主樹」一樣「自然地」工作。但是這可能是GIT的低優先級,因爲使用GIT的主要項目似乎只能從子樹中讀取。我們公司有一個私人和公共(開源)拆分項目,它們實際上構成了一個完整的整體。所以我們對子樹進行了完整的雙向工作。 – Wayne 2009-11-19 16:07:01

+1

哇。你提到的那個工具太棒了!很好,我幫助它好一點。 Avery想出瞭如何使它分裂爲子樹的提交,因此它只包含推拉兩個方向上的相關歷史記錄。這意味着當非提交文件中的文件觸及子樹並且提交將只包含子樹中實際的文件時,它會遺漏您的主項目歷史記錄。與艾利合作我增加了推動並改進了添加。 (他需要我調整一些東西,然後才能進入官方,我希望下週再做) – Wayne 2009-11-21 04:20:02

+0

此外,它並不涉及所有分支,但對於子樹添加有點神祕,並且沒有子樹推送。添加完這些之後,他們現在允許您指定要推送或推送的遠程存儲庫和refspec。這很棒。我正在檢查你作爲正確的答案! – Wayne 2009-11-21 04:22:09