Есть ли хороший способ вызвать git mv
для файла из magit? Я знаю, что можно запустить любую команду git с помощью :, но это не приведет к автозаполнению имен файлов.
Как использовать git mv от magit?
Ответы (3)
Я не уверен навскидку, есть ли прямой путь, но...
Учитывая, что mv
это то же самое, что rm
плюс add
, вы можете просто переименовать файл как обычно (например, в dired), а затем выполнить оба последовательных изменения — удаленный файл и новый файл.
Git должен понять это.
Изменить:
M-x vc-rename-file
?
person
phils
schedule
12.07.2013
Это работает, но я искал что-то, чтобы сделать это автоматически.
: mv /path/to/file1 /path/to/file2
(из буфера magit) еще быстрее, но не автозаполняется.
- person Yossarian; 12.07.2013
Отлично,
vc-rename-file
делает то, что я хочу!
- person Yossarian; 12.07.2013
Как заставить
git mv
? Я получаю сообщение об ошибке: Пожалуйста, обновите файлы перед их перемещением
- person nnyby; 20.06.2014
nnyby: Итак, я предполагаю, что в файле, который вы пытаетесь переместить, есть неслитые изменения, поэтому вы должны сделать, как он говорит, и сначала объединить эти изменения, иначе я ожидаю, что они будут потеряны. Если вы на 100 % уверены, что не хотите изменений, вариант
-f
может помочь. (В противном случае вы всегда можете просто скопировать файл и вручную восстановить его после слияния.)
- person phils; 21.06.2014
Для справки, по крайней мере, в текущей версии magit есть magit-file-rename
, который может быть вызван с помощью R.
person
Maciej Piechotka
schedule
23.09.2016
Было бы неплохо иметь и
magit-file-move
.
- person Jens Petersen; 24.05.2020
поскольку буфер magit не отображает отслеживаемые файлы, переместите курсор на последнюю пустую строку и нажмите
R
, чтобы вызвать magit-file-rename
- person frogcoder; 18.03.2021
Я использую для этого диред. C-x d
, когда файл открыт, затем нажмите !
на файле, чтобы запустить команду git mv ? newpath
с файлом в качестве аргумента ?
.
person
sp3ctum
schedule
04.11.2013
Это не меняет каталог буфера emacs, о котором я часто забываю, к своему смущению...
- person Jens Petersen; 24.05.2020
git mv
? Вы понимаете, что git не отслеживает ходы? git mv просто переименует файл, удалит старое имя из индекса и добавит новое. - person Chronial   schedule 12.07.2013mv
. - person Yossarian   schedule 12.07.2013