Сохранить все файлы при объединении удаленной ветки
Итак, вот моя ситуация:
У партии А есть большой, огромный проект, который нуждается в new_feature. Партия B клонирует репо и начинает работать над new_feature. Тем не менее, Сторона B, не имея необходимого количества кофеина и клеток мозга и будучи новичком в Git, удалила все файлы в своем репо, не связанные с new_feature, чтобы облегчить бремя компиляции и упростить рабочее пространство. Теперь, когда new_feature готова слиться с репо Стороны А, как Сторона А слила его без слияния, удалив какой-либо из его файлов?
(Обратите внимание, что партия А имеет немного больше опыта в Git, чем партия Б, потому что они оба - один и тот же придурок - я.)
1 ответ
Более безопасный способ - восстановить удаленные файлы в ветви new_feature, а затем объединить их с master (предположим, что основная ветка здесь master).
Чтобы восстановить удаленные файлы в ветке new_feature, вам нужно извлечь временную ветку и спрятать файлы от master, затем применить работу stash в ветке new_branch. Подробные шаги, как показано ниже:
git checkout new_feature
git checkout -b temp
git rm *.*
git commit -am 'keep empty'
git checkout <latest commit id on master> *.*
git stash
git checkout new_feature
git stash pop
git commit -am 'recovery the deleted files'
git branch -D temp