用管道命令解决git冲突

时间:2015-04-12 14:55:46

标签: git

我正在尝试编写一些git操作的脚本,这些操作涉及一些变基/挑选/等等。

有没有办法解决冲突而无需运行如下命令:

git rebase --continue
git cherry-pick --continue
git merge --continue

我试图避免在git想要提交消息时执行编辑器。

也许有一种方法可以告诉git事情已经解决并在需要时传入默认提交消息?

2 个答案:

答案 0 :(得分:5)

您可以使用git commit -m '$msg'提交更改,然后发出命令,说明"继续执行后续步骤" :

git rebase

git commit -m '$msg'
git rebase --skip

git cherry_pick

git commit -m '$msg'
# if you are cherry-picking several commits at once,
# this will skip the current (conflicting) one, and proceed with the remaining ones :
git reset
git cherry-pick --continue

git merge
没有git merge --continue指令。如果发生冲突,您只需解决冲突,然后commit。所以git commit -m '$msg'会这样做。

答案 1 :(得分:3)

尝试使用-x选项。这就是选择:

  

-x              记录提交时,添加一行“(樱桃挑选              从commit ...)“到原始提交消息以便              表明这个改变是从哪个提交中挑选出来的。这是              只为没有冲突的樱桃选择做。不要使用它              选项如果你是从你的私人分支机构挑选,因为              这些信息对收件人毫无用处。如果另一方面              你是在两个公开可见的分支之间挑选的(例如              向旧版本的维护分支向后移植修复程序              开发分支),添加此信息可能很有用。

git-scm.herokuapp.com/docs/git-cherry-pick

同样--allow-empty可能有用