2016-12-05 5 views
4

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

  • git pull, применяются изменения с помощью сценария (тянуть автоматически слияния)
  • git pull, слияние (возможные конфликты?)
  • git fetch
  • может быть, используя другую ветку каким-то образом?

Вопрос: Какой самый эффективный способ держать вилку уточненный?

+0

Первый и второй варианты одинаковы. 'git pull' является ярлыком для' git fetch', за которым следует 'git merge'. – axiac

+0

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

+2

Какие части вилки вы хотите сохранить в актуальном состоянии в проекте вверх по течению? Просто мастер? Метки? Другие отрасли? Что вы понимаете под эффектом? Легко выполнить? Меньше всего шагов? Проще всего интегрировать? И вы хотите внести свои изменения назад или сохранить долгосрочную вилку? Это имеет значение в том, как вы хотите управлять своими изменениями. – jszakmeister

ответ

3

Сохранение обновленной вилки - это первоначальное репо: вам необходимо основать локальную работу поверх современного изображения указанного репо.

Как правило, в triangular workflow первоначальное репо называется upstream.

Так все, что вам нужно сделать, это:

git fetch upstream 
git rebase upstream/master 
git push --force 

Это будет перебазироваться текущую ветвь на вершине обновленной upstream/master, а затем вы можете заставить толчок (при условии, вы только один работает на собственной вилкой).

triangular workflow

Это очень отличается от pull, так как она не объединить ветви с вверх по течению собственных местных отделений.
Скорее он повторяет вашу работу с лаком поверх этих ветвей, гарантируя, что будущий запрос на тягу будет тривиальным, чтобы принять обратно в исходное репо (ускоренное слияние, поскольку вы публикуете только новые коммиты поверх самого последнего состояния ведущей ветви восходящего потока)

+0

В чем разница между этим и простым «git pull»? –

+0

@SamuelShifterovich Я обновил ответ. – VonC

+0

Именно то, что я искал (см. Первый пункт в моем ответе). Большое спасибо. Принято. –

1

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

Просто сделав git fetch, вы просто будете обновлять удаленно удаленную ветку с новыми изменениями. Затем вам нужно будет выполнить команду слияния, если вы хотите увидеть новые изменения локально.

Смежные вопросы