Git:`rebase -i`不起作用(它不会打开`.git / rebase-merge / git-rebase-todo`)

时间:2018-02-15 04:27:12

标签: git git-rebase

git rebase -i的正常过程中看起来像这样(=>表示终端命令提示符):

=> git logg
* 7bec976 (HEAD -> develop, origin/develop) Update JANDI task: add Bitcoin topic
* e03aecc Update production.txt:remove pandas and set celery-beat version
* baaaf4b Update JANDI task: Fix link bug
* bb422af Update Procfile: on flower
* 733ca41 Implement JANDI task

rebase -i

=> git rebase -i 733ca41

它将通过编辑器打开.git/rebase-merge/git-rebase-todo

1 pick bb422af Update Procfile: on flower
2 pick baaaf4b Update JANDI task: Fix link bug
3 pick e03aecc Update production.txt:remove pandas and set celery-beat version
4 pick 7bec976 Update JANDI task: add Bitcoin topic
5
6 # Rebase 733ca41..7bec976 onto 733ca41 (4 commands)
7 #
8 # Commands:
9 # p, pick = use commit
10 # r, reword = use commit, but edit the commit message
11 # e, edit = use commit, but stop for amending
12 # s, squash = use commit, but meld into previous commit
13 # f, fixup = like "squash", but discard this commit's log message
14 # x, exec = run command (the rest of the line) using shell
15 # d, drop = remove commit
16 #
17 # These lines can be re-ordered; they are executed from top to bottom.
18 #
19 # If you remove a line here THAT COMMIT WILL BE LOST.
20 #
21 # However, if you remove everything, the rebase will be aborted.
22 #
23 # Note that empty commits are commented out

然而,在我的Linux 16.04 LTS上,它的行为如下:

=> git rebase -i 733ca41
Successfully rebased and updated refs/heads/develop.
=>

什么都没打开,什么都没发生......

我不知道这个命令有什么问题。除rebase -i

之外,任何其他git命令都可以正常工作

需要你的帮助。感谢

2 个答案:

答案 0 :(得分:1)

检查最新的2.16.x版Git是否仍然存在问题。

但首先,作为seen in this answer,检查环境变量GIT_SEQUENCE_EDITOR的值 如果设置为“:”,则会使编辑器步骤不可见。

注意:不需要设置sequence.editor configuration

  

如果未配置,则使用默认提交消息编辑器。

因此请确保core.editor设置正确,如“Associating text editors with Git”中所示。

答案 1 :(得分:0)

git config --global sequence.editor vim可以工作:)