克隆

2016-06-21 131 views
3

時取混帳筆記我知道git的筆記可以用克隆後提取:在混帳配置克隆

git fetch origin refs/notes/*:refs/notes/* 

甚至被設置爲始終牽強。

但是在克隆時我沒有得到筆記,所以我必須克隆然後獲取。雖然我確實看到使用--mirror時,克隆確實也能獲得筆記。然而,我的最佳設置是,我可以在不做鏡像的情況下克隆任何存儲庫(因爲它意味着--bare並且還會得到其他不需要的參考)並獲取筆記。

有沒有什麼辦法可以設置例如git config在克隆時間獲取特定的附加引用?

回答

1

簡短的回答是「不」:在克隆時,你有你的任何使用默認的Refspec(+refs/heads/*:refs/remotes/$remote/*,其中$remote被替換爲origin,或者你選擇的遠程名稱)克隆選擇或與--mirror取鏡refspec(+refs/*:refs/*)。正如你注意到的,--mirror意味着--bare,並且在這裏可能是不可取的。

編寫一個執行克隆的shell腳本會很容易,然後執行git config --add remote.origin.fetch +refs/notes/*:refs/notes/*,然後運行git fetch,這樣您就不需要自己運行三個命令。 (無論你想要+這裏,還是/或者將它們的註釋重新命名爲其他參考名稱,都取決於你。對於FreeBSD存儲庫,我使用fetch = +refs/notes/*:refs/notes/origin/*並設置了notesRef = refs/notes/origin/commits,這是我從別處拷貝而不需要太多考慮的練習 - 到目前爲止,我沒有理由重新考慮或改變它。)