我有一个脚本,它会自动创建一个新分支,其名称基于外部信息(JIRA 票证)。在提交并推送一些代码之前我不想创建远程分支,但我不想必须执行“git push --set-upstream origin”
换句话说,我想在推送之前设置上游。
git checkout -b mybranch
git <do-something-to-prepare origin/mybranch without talking to origin>
<do work>
git commit -a -m "Made my changes."
git push
我试过了:
git branch --set-upstream-to=origin/mynewbranch
这导致:
error: the requested upstream branch 'origin/mynewbranch' does not exist.
有什么办法可以做到这一点吗?
您可以使用以下命令来执行此操作:
git config branch.mybranch.remote origin
git config branch.mybranch.merge refs/heads/mybranch
这基本上配置了相同的东西--set-upstream-to
而不先检查上游分支是否已经存在。
下一步是更改push.default
选项,当前(Git 1.9)默认为matching
(文档说这个默认值将更改为simple
在 Git 2.0 中)。使用matching
不会做你想做的事,因为上游远程还没有匹配的分支。所以:
git config push.default simple
您可以使用以下命令全局设置(对于所有存储库)--global
switch.
完成此操作后,
git push
会将当前分支(并且仅当前分支)推送到其上游(您在上面设置的),并在必要时创建上游分支。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)