使用git rebase我得到“无所事事" [英] Use git rebase and I get 'Nothing to do'
问题描述
与标题相同我输入"git rebase -i [commit_id]",我得到了:
Same as title I type "git rebase -i [commit_id]", and I got this:
Error detected while processing /Users/My_name/.vimrc:
line 1:
E117: Unknown function: pathogen#infect
E15: Invalid expression: pathogen#infect()
Press ENTER or type command to continue
输入enter后,我成功进入vim编辑器.
after type enter, I success to enter the vim editor.
1 pick f694d12 test
2
3 # Rebase 3dad5af..f694d12 onto 3dad5af (1 command(s))
4 #
5 # Commands:
6 # p, pick = use commit
7 # r, reword = use commit, but edit the commit message
8 # e, edit = use commit, but stop for amending
9 # s, squash = use commit, but meld into previous commit
10 # f, fixup = like "squash", but discard this commit's log message
11 # x, exec = run command (the rest of the line) using shell
12 # d, drop = remove commit
13 #
14 # These lines can be re-ordered; they are executed from top to bottom.
15 #
16 # If you remove a line here THAT COMMIT WILL BE LOST.
17 #
18 # However, if you remove everything, the rebase will be aborted.
19 #
20 # Note that empty commits are commented out
我删除第1行"pick f694d12测试"并保存,我只是得到了一个报告
I delete the line 1 "pick f694d12 test" and save it, I just got a report
Nothing to do
我该如何解决?
推荐答案
如果您在合并/重新设置基准时保存了一个空文件,Git会认为您改变了主意并且不想做任何事情.请参阅您提供的rebase todo文件中倒数第二行:
If you save an empty file during a merge / rebase, Git thinks you changed your mind and don't want to do anything. See the second-to-last line in the rebase todo file you provided:
# However, if you remove everything, the rebase will be aborted.
要解决此问题,您可以离开提交行,但使用 drop
命令.您的待办事项文件将如下所示:
To work around this, you can leave the commit line, but use the drop
command. Your todo file will look like this:
drop f694d12 test
# Rebase 3dad5af..f694d12 onto 3dad5af (1 command(s))
#
# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
# x, exec = run command (the rest of the line) using shell
# d, drop = remove commit
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
# Note that empty commits are commented out
或者,如果您要删除的是最后一次提交,则可以执行以下操作:
Alternatively, if all you want to do is delete the last commit, you can do this:
git reset --hard HEAD^
或者:
git reset --hard 3dad5af
这篇关于使用git rebase我得到“无所事事"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!