我想反映一个本地资源库与所有可用的refs
包括refs/notes/*
'混帐克隆后失踪。但是,这些便笺没有按预期克隆。的Git笔记--mirror`
重现该问题在一个空的目录执行这些命令:
$ git init repo && cd repo
$ git commit --allow-empty -m 'initial commit'
$ git notes add -m 'Initial commit on empty repo' HEAD
$ git clone --mirror .git ../mirror
获得裁判之间的差异表明,notes
从镜像存储库丢失:
$ diff repo/.git/refs mirror/refs
Common subdirectories: repo/.git/refs/heads and mirror/refs/heads
Common subdirectories: repo/.git/refs/tags and mirror/refs/tags
Only in repo/.git/refs: notes
git -C mirror fetch
不即使在mirror/config
中指定了fetch = +refs/*:refs/*
,也可以获取备注。现在
的问题是:有什么我失踪?我正在使用git 2.3.0
'的.git /填充refs'在这里缺少的环节。这个答案中最重要的是你不应该依赖git的文件结构,这就是为什么我的diff命令没有意义。而应该使用管道命令,例如'git for-each-ref'。 –