在2个中央git服务器之间复制Git Notes

时间:2013-03-25 22:22:36

标签: git gerrit

我想将所有git notes refs(refs/notes/*)从一个中央git存储库转移到另一个。

假设git中心服务器AB,我想将A的git备注复制到B

我尝试使用以下选项:

  • git push remoteB refs/notes/*:refs/notes/*; git push --mirror(此选项有效,但它正在删除A中不存在的其他引用,例如分支);
  • git push --all(此选项不会保持git注释同步,但在保持refs/heads同步时效果很好)在提交后的git hook中。

[git@hdqpdqaapp5 modeln50.git]$ GIT_TRACE=1 git push 
source +refs/notes/*:refs/notes/* 
trace: built-in: git 'push' 'source' '+refs/notes/*:refs/notes/*' 
trace: run_command: 'ssh' '-p' '8081' 'hdqpdsource1.modeln.com' 'git-receive-pack '\''/modeln56.git'\''' 

它正确地拾取了远程名称,但项目名称错误(modeln56),而且命令只是挂起而没有任何输出。

1 个答案:

答案 0 :(得分:0)

那应该推动你想要的一切(笔记和头脑):

git push remoteB 'refs/notes/*:refs/notes/*' 'refs/heads/*:refs/heads/*'

您可以通过添加refspec 'refs/tags/*:refs/tags/*'来推送标签。

如果您想避免输入refspec列表,可以设置config remote.remoteB.push