繁体   English   中英

克隆时获取 git 笔记

[英]Fetch git notes when cloning

我知道可以使用以下方法在克隆后获取 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 --mirror ( +refs/*:refs/* )。 正如您所注意到的, --mirror意味着--bare ,在这里可能--mirror

编写一个执行克隆的 shell 脚本很容易,然后执行git config --add remote.origin.fetch "+refs/notes/*:refs/notes/*" ,然后运行git fetch ,以便您不需要自己运行三个命令。 (您是否想要这里的+ ,和/或将他们的注释重命名为其他参考名称,取决于您。对于 FreeBSD 存储库,我使用fetch = +refs/notes/*:refs/notes/origin/*和set notesRef = refs/notes/origin/commits ,这是我从别处复制的做法,没有考虑太多——到目前为止我没有理由重新考虑或改变它。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM