2013-11-20 78 views
1

我正在一個項目中使用git子模塊作爲整體跟蹤代碼的目的(幾個不同的部分一起發佈),所以我喜歡子模塊跟蹤特定提交的想法,因爲子模塊主要用於哪些子模塊歷史目的。Git子模塊跟蹤提交但知道分支?

這是很好的,這樣在未來一個可以檢出超級回購的特定標籤,並找出其中的代碼是在每個組件。一個問題產生但如果突然要執行一些更多的提交到特定的版本,因爲,因爲你是在一個無頭的狀態存在,找出哪個分支,承諾屬於沒有真正的方法。

跟蹤分支,如1.8.2中所添加的,似乎無法解決問題,無論是從我能讀取的內容,因爲它只是檢查分支中的最新提交,可能不是發佈在時間。

是否有某種方式來混合2在哪裏可以檢出超級回購,並查看哪些提交所有內容都在那裏,但仍然被跟蹤到一個分支,以便他確切地知道從哪個分支拉出來(因爲他們可能對這個分支已經有更多的承諾)並繼續致力於它?

我想我所尋找的是以某種方式讓git落在一個狀態,就好像開發人員有幾個提交從服務器上拉下來的地方repo頭在正確的提交但服務器已經提前,這樣,他可以確切地知道他在哪裏,在輕鬆地完成一拉即可獲得該分支的最新提交。或者只是讓git submodules跟蹤標籤(也許?)。我可以從技術上說,如果告訴一個子模塊來跟蹤一個分支,我可以從「git submodule update」命令中省略--remote來獲得特定的提交(如果我是說,結帳a在submodule文件夾中提交/標記並將更改提交給超級回購),並獲取特定標記,然後將--remote添加到另一個「git子模塊更新」中,最終在與該提交有關的分支中結束解決整個問題?

對此事的任何輸入被理解。

回答

1

跟蹤分支,如1.8.2中所添加的,似乎無法解決問題,無論是從我可以讀取的內容,因爲它只是檢查分支中的最新提交,可能不是發佈的內容當時。

然後,只需確保你的子模塊跟蹤「釋放」分支,在那裏你可以選擇創建自己的,並添加更多的提交。請記住,即使在分支之後,git子模塊更新 - 與git fetch一起遠程更新並更新子模塊,但始終將其留在detached HEAD mode中。

請參閱 「Git submodule to track remote branch」。

由您決定要在其中工作的分支。

如果您已經對自己的那個子模塊,使用中的專用分支工作,以更新它:

git submodule update --remote --rebase 

這將重訂更新的子模塊的頂你現在的工作。