объединить новый репозиторий GitHub в удаленный - PullRequest
1 голос
/ 10 февраля 2020

Я пытаюсь объединить коммиты из ветви B в ветвь A.

branch A has commits a-c 
branch B has commits d-f BUT doesn't have commits a-c in it's commit history.

Как мне получить коммиты df ветви B, чтобы они отображались в ветке A после коммита c.

Я попытался git cherry-pick hashCommit, но мне пришло сообщение о том, что

The previous cherry-pick is now empty, possibly due to conflict resolution.
If you wish to commit it anyway, use:

    git commit --allow-empty

Otherwise, please use 'git reset'

Я также проверил эту SO запись , но не был уверен, какой ответ мне подходит.

Когда я смотрю в ветке B на github-страницах, вверху написано, что ветка B - это x, фиксирует перед веткой A

enter image description here

Также после выполнения cherry-pick, когда я набираю git log, первая фиксация показывает

commit hashCommitNumber (HEAD -> branchB, origin/branchB, branchA)

В настоящее время я проверен на ветке B

1 Ответ

0 голосов
/ 10 февраля 2020

Что я сделал, так это перенес историю RT C с последней успешной даты отсечения до текущей даты

Это зависит от того, как / где была выполнена эта миграция: если это в новом репо / новой ветке, тогда да, слияние будет затруднено (несвязанная история)

Лучшая практика:

  • с локальным клоном вашего репозитория GitHub установите для ветви, которую вы хотите обновить, с RT C новыми наборами изменений
  • с локальным рабочим пространством репозитория RT C (песочницей)
  • итерацией для каждого набора изменений и обновите свою песочницу
  • , используйте git --work-tree=/path/to/sandbox add . (сделано в вашем локальном клоне Git). Это обнаружит любой новый / измененный / удаленный файл из песочницы по сравнению с вашим текущим Git содержимым репозитория
  • фиксация и повторится для следующего набора изменений.
...