Оновіть застарілу гілку проти майстра в Gpo ​​repo


123

У мене є сховище Git, яке має філію (локальну та віддалену), яка застаріла. Я хотів би ознайомити цю гілку з головною галуззю, але я не знаю, як це зробити. Можливо, також буде багато конфліктів злиття.

Як я можу привести або оновити цю застарілу гілку до такого ж стану, як і головна гілка?


1
якщо ви приїхали сюди, щоб дізнатися, як оновити застарілу гілку проти майстра в Git repo, якщо ви не зробили будь-яких змін у місцевій гілці, тоді просто зробіть "git pull"
— пошарпаний

Відповіді:


152

Оновіть головну гілку, що вам потрібно зробити незалежно.

Потім один із:

  1. Розмістіть стару гілку на головній гілці. Вирішіть конфлікти злиття під час перезавантаження, і результатом буде сучасна гілка, яка чітко зливається з головним.

  2. Об’єднайте свою гілку в головну і вирішіть конфлікти злиття.

  3. Об’єднайте майстра у свою філію та вирішіть конфлікти злиття. Тоді злиття від вашої гілки до господаря повинно бути чистим.

Жоден з них не кращий за інші, вони просто мають різні схеми компромісу.

Я б застосував підхід на основі бази даних, який дає більш чіткі загальні результати для пізніших читачів, на мій погляд, але це не є окрім особистого смаку.

Для відновлення та збереження гілки ви:

git checkout <branch> && git rebase <target>

Тоді перевірте стару гілку

git rebase master 

щоб відновити його проти господаря.


1
@Andrew: git rebase:)
— CharlesB

1
git checkout $branch && git rebase $target- у вашому випадку перевірте стару гілку, git rebase masterщоб відновити її проти господаря.
— Даніель Піттман

3
Ваш репо публічний? Чи добре робити перезавантаження, якщо воно публічне?
— event_jr

4
Хороша порада при використанні відновлення даних у віддалених гілках: виконайте це відновлення віддаленої гілки проти головної гілки лише тоді, коли хто не натискає на цю віддалену гілку.
— Дерік

Після того, як буде виконано перезавантаження, вам потрібно натиснути зміни за допомогою -fпараметра. Коли ви переписуєте історію, потрібен сильний поштовх.
— Opster Elasticsearch Ninja
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.