我正在嘗試壓縮提交,但我在互聯網上找到的指南(例如來自 Git的指南)對我不起作用:
> git checkout master
> git checkout -b masterBAK
> git log --oneline --graph --decorate -n 4
* 047687e (HEAD) Merged PR 100: Fix pytest using marker
|\
| * 8ca0695 (origin/correct_bug) add something to pytest
| * 7b247c8 mock some function
|/
* 5c5c75a (tag: v1.4.0) Merged PR 090: cleanup imports
> git rebase -i HEAD~3
我現在希望看到一個提交串列,然后是上面鏈接中的命令串列。相反,我在 vi 中看到了一個空白頁,即一個游標,我可以在其中使用 vim 命令后跟波浪號進行撰寫。我可以用 ":q" 退出。我可以做些什么來查看提交并按照上面指南中的說明壓縮它們?
我認為這并不重要,但我在某些設定中使用了 meld:
> git config -l
diff.tool=meld
merge.tool=meld
difftool.prompt=false
..
core.editor=/usr/bin/vi -w [Solution: faulty -w flag]
uj5u.com熱心網友回復:
core.editor=/usr/bin/vi -w
這是錯誤的設定。特別是-w這里的選項是邪惡的。
如果您vi是更傳統的版本之一,-w則告訴編輯器下一個引數是視窗大小。這應該是一個數字,如果它不是一個數字,可能會發生奇怪的事情。Git會在這里傳遞一個檔案名,一般不會是數字。效果將是忽略檔案名,并打開一個臨時檔案。
如果您vi是vim變體,則該-w標志表示下一個引數是腳本輸出檔案。同樣,這會使用 Git 要vim打開的檔案名,因此會vim打開一個空的臨時檔案。更糟糕的是,vim現在將您鍵入的內容附加到變基指令表中。
告訴你放在-w這里的任何東西都是錯誤的。洗掉-w.
uj5u.com熱心網友回復:
這是我的配置:
diff.tool=vimdiff
merge.tool=vimdiff
core.editor=vim # I think this is the important point
# I don't have difftool.promt
如果我這樣做,git rebase -i <commit>我可以看到你在尋找什么,壓縮提交的選項。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/521431.html
標籤:混帐
