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

Какой лучший способ объединить внешние изменения в моем репозитории Git?

У меня есть проект в репозитории Git, и мне были отправлены изменения, которые были сделаны вне Git. Эти изменения основаны на более ранней версии, которую я вносил в меня изменения. Каков наилучший способ объединить эти внешние файлы с моими?

Большое спасибо!

4b9b3361

Ответ 1

Лучший способ - сообщить git, с какой целью они были основаны, чтобы дать вам наилучшие шансы на автоматическое слияние.

  • git checkout <sha1 of the old commit> -b mybranch, чтобы перемотать свое дерево работы и начать новую ветку.
  • Если изменения были отправлены как diff, используйте git-apply, чтобы применить их к дереву работ, иначе просто поместите обновленные файлы.
  • Добавить и зафиксировать файлы.
  • git checkout master, затем git merge mybranch.

Ответ 2

Вам нужно действовать точно так же, как если бы вы работали с этими файлами, поэтому скопируйте их из состояния более ранней версии, о которой вы говорите:

  • Создайте ветку в фиксации, которую вы считаете базой модифицированного файла.
  • Добавить измененный файл
  • Фиксировать
  • Слейте ветку в свою основную ветку развития.

Ответ 3

лучший способ для человека, который предоставил изменения, чтобы дать патч вместо файлов. Но если это невозможно, этот человек не контролирует контроль версий или что-то еще, вы можете попытаться выполнить все ваши выдающиеся изменения в ветке, в которой вы сейчас работаете. Предпочтительно старайтесь избегать любых файлов без следа. Затем скопируйте эти файлы в репозиторий git и запустите git status, и вы увидите, какие изменения по сравнению с состоянием вашего репо, а затем вы можете решить, что вы будете делать с ними.