说,我想这样做:
git checkout featureBranch
git rebase master
如果我想结合两个" shell"我能做的命令:
git checkout featureBranch && git rebase master
然而,这不是原子的。如果git checkout
命令由于某种原因失败,则工作目录将不会处于与之前相同的状态,也不会处于最终预期状态。此外,其他进程(例如我的IDE)可能能够看到两个命令之间的中间状态。
git
是否提供了以原子方式合并两个动作的方法?
我不需要完整的文件系统级原子性。也就是说,如果组合操作需要更改工作目录中的10个文件,那么其他进程可以单独观察这10个更改是可以的。
编辑:以上两个命令仅用于说明。此外,它可能是3个或更多需要链接的命令。
答案 0 :(得分:4)
根据man git-rebase
这些命令可以合并:
If <branch> is specified, git rebase will perform an automatic git checkout
<branch> before doing anything else. Otherwise it remains on the current branch.
所以你可以跑:
git rebase master remoteBranch
然而,没有一般解决方案。