我知道克隆后可以获取 git 注释:
git fetch origin refs/notes/*:refs/notes/*
甚至可以在 git config 中设置为始终获取。
但是在克隆时我没有得到注释,所以我必须克隆然后获取。尽管我确实看到在克隆时使用 --mirror
也确实得到了注释。然而,我的最佳设置是我可以在不做镜像的情况下克隆任何存储库(因为它意味着 --bare
并且还会得到其他不需要的引用)并且也得到注释。
是否有任何方法可以设置例如 git config 以在克隆时获取特定的附加引用?
最佳答案
简短的回答是“否”:在克隆时,您可以选择使用默认的 refspec (+refs/heads/*:refs/remotes/$remote/*
,其中 $remote
替换为 origin
或您选择的远程名称)或替换为 --mirror
fetch-mirror refspec(+引用文献/*:引用文献/*
)。正如您所注意到的,--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
,这是我从别处复制的做法,没有考虑太多——到目前为止,我已经没有理由重新考虑或改变它。)
关于git - 克隆时获取 git 注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37941650/