Git rebase:发现“下一次”承诺要重新定位?

时间:2013-02-14 13:17:54

标签: git version-control git-rebase

我们在Git中有两个分支,masterdevelop。合作伙伴小组不断更新master,我不断将develop分支机构重新定位到master,类似这样:

#(on develop)
$ git pull --rebase origin master #1
$ git rebase origin/develop       #2
$ git push origin develop         #3

...但是昨天合作伙伴小组中的某个人在没有正确的电子邮件地址的情况下提交到master,因此我在步骤#2遇到问题:

git rebase origin/develop
First, rewinding head to replay your work on top of it...
Applying: <...>
<...>
Patch does not have a valid e-mail address.

git status显示:

$ git status
# Not currently on any branch.
# You are currently rebasing.
#   (all conflicts fixed: run "git rebase --continue")
#
nothing to commit, working directory clean

我所做的是跳过没有git rebase --skip地址的提交,然后在rebase之后挑选这些提交。但我想知道这是正确的方法吗?我可以直接在原地挑选提交,而不会跳过它吗?如果是,我如何实际找出这个有问题的提交(不在git log中查找),因为它基本上是 next 提交,将被重新定位到当前的顶部提交,所以git必须知道它是哪一个......?

1 个答案:

答案 0 :(得分:2)

您可以尝试Change the author and committer name and e-mail of multiple commits in Git

中的所有建议

或者您可以在其中添加-i以继续运行(如果您有持久的自动工具提交问题,或者只是想继续让别人解决他们的问题,那就很有用)

所以,当我得到

> git rebase master
First, rewinding head to replay your work on top of it...
Patch does not have a valid e-mail address.

我做git rebase --abort,然后

> git rebase master -i
Successfully rebased and updated refs/heads/mybranch.

对于git 2.1.4。

显然,它会提供一个要编辑的rebase列表,但是你只需保存未经编辑的那个并继续前进。

是的,它与&#34;原作者&lt;&gt;&#34;

一起提交