Я использую Git и вручную переименовал файл, который я добавил в репозиторий. Теперь я добавил "новый" файл, который я переименовал в репозиторий, но Git жалуется, что "старый" файл был удален. Итак, как я могу сделать Git забыть о старом файле? Еще лучше, как я могу сказать Git, что "новый" файл действительно является "новым" файлом, чтобы я мог сохранить историю изменений целыми?
Git: переименован файл вручную, Git запутанный
Ответ 1
Нет проблем. Просто git rm old
или даже git add -A
, и он поймет, что это переименование. Git будет видеть удаление плюс добавление с тем же содержимым, что и переименование.
Вам не нужно отменять, останавливать, использовать git mv
и т.д. git mv old new
- это только короткая рука для mv old new; git rm old; git add new
.
Ответ 2
Во-первых, отмените свой поэтапный файл для перенесенного вручную файла:
$ git reset path/to/newfile
$ mv path/to/newfile path/to/oldfile
Затем используйте Git для перемещения файла:
$ git mv path/to/oldfile path/to/newfile
Конечно, если вы уже совершили ручное перемещение, вы можете захотеть reset в ревизии перед перемещением, а затем просто git mv
оттуда.
Ответ 3
Попробуйте следующее:
mv new old
git rm new
git mv old new
Ответ 4
Если эта ошибка возникает, вероятно, это означает, что файл, который вы пытаетесь переместить, изначально не отслеживается с помощью git или каталог, в который вы пытаетесь переместить файл, не является git отслеживаемым каталогом.