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

我们在
Git有两个分支,掌握和开发. master正在由合作伙伴小组不断更新,我不断将我们的开发分支重新设置为master,如下所示:

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

…但昨天有合作伙伴小组的人在没有合适的电子邮件地址的情况下致力于掌握,所以我在步骤#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状态显示:

$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日志中查找),因为它基本上是要重新定位到当前提交的顶部的下一个提交,所以git必须以某种方式知道它是哪一个是…?

最佳答案 您可以尝试
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列表,但是你只需保存未经编辑的那个并继续前进.

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

点赞