在Git中自动推送元数据(例如,通过标签/注释)(没有使用客户端挂钩)?

时间:2013-11-06 14:11:54

标签: git metadata push

我需要传递一些有关正在推送的提交的元数据。有没有办法推送元数据和推送操作?当然,可以在post-commit或pre-push hook中创建标记/注释。

但是,有没有办法使用客户端钩子传递元数据?或者,除了notes / tag之外还有其他任何方法可以达到同样的效果吗?

1 个答案:

答案 0 :(得分:0)

Git决定分两步推进:

  1. 如果有明确的refspec传递给git push,则会使用它。
  2. 否则,Git会在存储库的配置中查找一堆变量,试图通过推送内容来确定要推送的内容以及远程存储库中的更新内容。 (整件事情很复杂,所以不要碰它)。
  3. 所以基本上不是

    git push origin master
    

    你可以做到

    git push origin master refs/notes/*
    

    只推送分支“master”和任何Git音符,或者

    git config --add remote.origin.push refs/heads/*
    git config --add remote.origin.push refs/notes/*
    git config --add remote.origin.push refs/tags/*
    

    这么简单

    git push origin
    

    将推送所有(本地)分支,注释和标签。

    请仔细阅读git-push(1)手册:它有点干,但是要说明如何解释refspec以及remote.<name>.pushpush.default如何影响操作。