Ответ 1
Просто зафиксируйте. Git вины и т.д., как правило, выполняют довольно хорошую работу по автоматическому обнаружению ходов.
Я совершенно новый для git и управления версиями в целом, и у меня вопрос о перемещении файлов. У меня есть мастер-репо на GitHub с 6 исходными файлами.
Я проделал большую работу над проектом, и теперь моя локальная ветвь содержит две папки с источниками в них.
Структура каталогов была похожа:
Учитель:
Где моя локальная ветка теперь выглядит так:
Новая папка 1:
Новая папка 2:
Как перенести мою локальную структуру на главную ветку без потери истории фиксации в старых файлах?
Просто зафиксируйте. Git вины и т.д., как правило, выполняют довольно хорошую работу по автоматическому обнаружению ходов.
git фактически не отслеживает "перемещения" файлов, он запрашивает его по требованию из аналогичного контента. Итак, просто сделайте перемещение и добавьте/удалите файлы по мере необходимости. (В будущем вы облегчите жизнь инструментам, если вы избежите внесения изменений в контент, а также перемещаете их в одном коммите.)
Затем, чтобы увидеть журнал учета ходов, используйте -M
, -C
или их варианты для git log
. Подобные флаги применяются к другим инструментам, и вы должны прочитать помощь, чтобы понять детали того, что они делают.
Если вы используете git mv
в файле, для него просто git rm
и git add
.
Другие плакаты верны, однако, если вы хотите подтвердить, что git увидит их как ходы (а не комбинацию delete/create), запустите git status
. Вы должны увидеть:
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# renamed: oldfile.txt -> newFolder/newfile.txt
В github, если у вас слишком много файлов для перемещения, интересной альтернативой является редактирование файла и изменение его имени на:
folder_to_move_into/file_name
При фиксации файл перемещается в папку. Если папка не существует, она будет создана.