Я просто хочу отредактировать некоторые коммиты с помощью git rebase -i HEAD~2
внутри текущей ветки.
Я использую Ubuntu 10.10, и мне пришлось сначала установить gvim, чтобы команда заработала.
После этого команда открывает окно gvim с обычным содержимым перебазирования.
Но когда я хочу сохранить файл, gvim говорит
".git/rebase-merge/git-rebase-todo" E212
[Не удается открыть файл для записи]
Также команда перебазирования завершается сразу после запуска (с Успешно перебазированы и обновлены refs/heads/master.
).
При выполнении той же команды с sudo
перебазирование работает, но потом оказывается, что файлы принадлежат пользователю 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 user
) проблема остается такой же.