克隆时获取git注释

时间:2016-06-21 10:15:04

标签: git git-notes

我知道克隆后可以使用以下方法获取git注释:

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

甚至可以在git config中设置以便始终获取。

然而,在克隆时我没有得到笔记,所以我必须克隆然后获取。虽然我确实看到使用--mirror时克隆也会得到注释。然而,我的最佳设置是我可以克隆任何存储库而不用镜像(因为它暗示--bare并且还会得到其他不需要的引用)并且也得到注释。

有没有办法设置例如git config在克隆时获取特定的附加引用?

1 个答案:

答案 0 :(得分:3)

简短回答是“否”:在克隆时,您可以选择使用默认refspec进行克隆(+refs/heads/*:refs/remotes/$remote/*,其中$remote替换为origin或远程您选择的名称)或--mirror fetch-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,我从别处复制的一种做法,没有考虑太多 - 到目前为止,我没有理由重新考虑或改变它。)