1

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

假设 git 中央服务器AB,并且我想将 git 注释从 复制AB

我尝试使用以下选项:

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

[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),而且该命令只是挂起而没有任何输出。

4

1 回答 1

0

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

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

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

remote.remoteB.push如果你想避免输入 refspecs 列表,你可以设置配置。

于 2013-03-28T16:16:27.943 回答