use*_*686 6 git vim ubuntu git-rebase
我只想git rebase -i HEAD~2在当前分支内编辑一些提交.我使用Ubuntu 10.10并且必须先安装gvim以使命令工作.然后,该命令打开一个带有正常rebase内容的gvim窗口.但是当我想保存文件时,gvim说
".git/rebase-merge/git-rebase-todo"E212
[无法打开文件写]
rebase命令也在启动(with Successfully rebased and updated refs/heads/master.)后立即完成.
当使用sudorebase 执行相同的命令时,但之后会发生文件归root所有并且我不再具有写权限.
在我的ArchLinux系统上,gvim直接在我运行的终端中打开git rebase -i,一切正常.
这里有什么问题以及如何解决?它应该没有sudo工作.
.git/...由root拥有,并且是只读的.第一级中的所有目录和文件.git/都归我所有.随着ls -l --recursive .git/ | grep root我试图查出是哪个文件,但输出不给文件的路径....git/属于用户?这可能是问题的原因吗?.git用(sudo chown -R user:user .git/和现在显示类似)的问题保持不变.chmod u+w -R .git/ls -l-rw-r--r-- 1 user useruse*_*686 15
我的解决方案是:
跑
$ git config --global core.editor "gvim -f"
Run Code Online (Sandbox Code Playgroud)
首先,我认为这是因为我的存储库位于ntfs驱动器上,因此文件权限无法正常工作.但即使在使用正确的文件权限安装驱动器之后,问题也保持不变.使用选项启动vim有-f帮助(我读到其他人以同样的方式解决它),但我不知道为什么.