4

我们在 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),因为它基本上是要重新基于当前提交顶部的一个提交,所以 git 必须以某种方式知道它是哪一个...... ?

4

1 回答 1

2

您可以尝试在 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 是正确的。

显然,它提供了一个要编辑的变基列表,但您只需保存未经编辑的内容并继续进行。

是的,它与“原作者<>”一起提交

于 2015-10-14T23:32:25.460 回答