2013-06-25 45 views
1

我有一個項目的2個遙控存儲庫。如何保持主記錄在git中簡短明瞭?

1(來源)是我的私人回購,我對該項目進行了修改。
2(上游)是我克隆( - 裸)從的原始github回購。

我不時從上游獲取更新並將其合併爲主,並且效果良好。
然而,當我看到提交歷史,都來自這兩個庫提交(產地/上行)顯示其很難說有什麼改變在哪裏。(尤其是我們的點播服務承諾)

有什麼好的策略,以保持主分支歷史清潔?

我想出了一個想法,但不知道它是否會工作或足夠好。

在原始資源庫中創建一個分支,僅用於merging-in upstream更改。
上游合併到這個分支(我們稱之爲merge_branch)之後,我將merge_branch合併爲主,希望只看到1個聚合提交。

回答

1

目前還不清楚你目前的方法是什麼......然而你所描述的新想法聽起來像通常的方式。

你的回購應該是這樣的:

  • master與最終狀態分支(音軌origin/master
  • upstream分支(跟蹤upstream/master

在啓動和稍後在合併上游分支到主。直接提交mastr是你的工作。您應該嘗試將「上游」分支自己也推向origin,合併提交通常足夠豐富。

編輯: 經過討論後,它清楚你在追求什麼。 要將整個上游視爲單個提交,您必須合併--squash。

這是我認爲上游的一個不尋常的用途,但可以說是有道理的。如果你這樣做了,我建議像上面那樣運行upstream分支,以保持能夠看到原始提交(本地和原始),與squash合併,並在提交消息中記錄上游分支的哈希(刪除提交列表) 。

+0

ah我有上游/ mater,但沒有本地上游分支(合併上游/主直接到主) – eugene

+0

這種方式實際上與描述相同,我看到的唯一區別是默認提交消息合併。 –

+0

好..我創建了本地上行分支(跟蹤上游/主),並將上行/主引入其中。然後合併到本地/主。我期望看到'aggreated'提交歷史記錄(只能從local/up看到1個合併提交),但我仍然可以看到upstream/master的提交歷史記錄的完整列表。所以我猜這是預料之中,沒有辦法。 – eugene

相關問題