假設我們有兩個開發人員。一位開發人員在foo/bar/path中的「main」git倉庫中添加了一個子樹(foo /是普通目錄,foo/bar /現在作爲子樹連接到單獨的「子樹」存儲庫)。第二個開發人員拉動變化並獲得foo/bar /。然而,在他的工作副本中,foo/bar /不是git的子樹,它只是主存儲庫中的一個目錄。在第二份工作副本中使用子樹
現在第二個開發人員已經完成了將該子樹切換到子樹存儲庫中的新標記的任務。他認爲他可以使用git subtree pull
從子樹存儲庫中提取,但是他需要首先添加子查詢。但git subtree add
在他的工作副本不起作用,因爲該目錄已經存在。在他的工作副本中,這個目錄看起來不像是一個子樹。
問題:
- 如何能在第二顯影劑通知Git是富/酒吧/實際上是一個子樹?
- 他如何爲這個子樹檢出標籤?
那麼爲什麼一些使用子樹的例子似乎鼓勵使用'--squash'?另外,你能否提供更詳細的指導說明開發人員應該如何做到這一點? –
我真正想說的是「不要重新發明輪子」。我相應地更新了我的答案。關於'--squash'的部分是誤導性的,我將其刪除。 – Phillip