我经常有至少 3 个远程分支:master、staging 和 production。我有 3 个本地分支来跟踪这些远程分支。
更新我所有的本地分支机构很乏味:
git fetch --all
git rebase origin/master
git checkout staging
git rebase origin/staging
git checkout production
git rebase origin/production
我希望能够执行“git pull -all”,但我无法让它发挥作用。它似乎执行“fetch --all”,然后更新(快进或合并)当前工作分支,但不更新其他本地分支。
我仍然坚持手动切换到每个本地分支并更新。
我用sync子命令 https://hub.github.com/hub-sync.1.html of hub https://hub.github.com/自动化这个。我有alias git=hub
in my .bash_profile
,所以我输入的命令是:
git sync
这会更新具有匹配上游分支的所有本地分支。从手册页:
- 如果本地分支已经过时,则快进;
- 如果本地分支包含未推送的工作,则发出警告;
- 如果该分支似乎已合并并且其上游分支已被删除,请将其删除。
它还处理当前分支上未提交的更改的存储/取消存储。
我曾经使用过一个类似的工具,叫做git-up https://github.com/aanand/git-up,但不再维护,并且git sync
做几乎完全相同的事情。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)