我知道克隆后可以使用以下方法获取git注释:
git fetch origin refs/notes/*:refs/notes/*
甚至可以在git config中设置以便始终获取。
然而,在克隆时我没有得到笔记,所以我必须克隆然后获取。虽然我确实看到使用--mirror
时克隆也会得到注释。然而,我的最佳设置是我可以克隆任何存储库而不用镜像(因为它暗示--bare
并且还会得到其他不需要的引用)并且也得到注释。
有没有办法设置例如git config在克隆时获取特定的附加引用?
答案 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
,我从别处复制的一种做法,没有考虑太多 - 到目前为止,我没有理由重新考虑或改变它。)