0

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

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

4

1 回答 1

0

Git 分两步决定要推送的内容:

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

所以基本上代替

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)仔细阅读手册:它有些枯燥,但很中肯,并解释了如何解释 refspecs 以及如何remote.<name>.push影响push.default操作。

于 2013-11-06T15:35:44.310 回答