Подтвердить что ты не робот

Git: переименован файл вручную, Git запутанный

Я использую Git и вручную переименовал файл, который я добавил в репозиторий. Теперь я добавил "новый" файл, который я переименовал в репозиторий, но Git жалуется, что "старый" файл был удален. Итак, как я могу сделать Git забыть о старом файле? Еще лучше, как я могу сказать Git, что "новый" файл действительно является "новым" файлом, чтобы я мог сохранить историю изменений целыми?

4b9b3361

Ответ 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 отслеживаемым каталогом.