Как сделать ветку такой же, как origin / master - PullRequest
0 голосов
/ 17 марта 2019

предположим, что я разветвился от origin/master до brancha.

Я внес, зафиксировал и отправил изменения в brancha (это включает в себя создание, фиксацию и отправку новых файлов).

Теперь я хочу сделать brancha точно таким же контентом , что и origin/master снова (потому что, скажем, мои изменения были неправильными, и было введено лучшее решение master).

Итак, я хочу, чтобы моя ветвь была в основном новой веткой с origin/master, но Я хочу, чтобы мои старые изменения были записаны , чтобы я мог увидеть это позже в истории.

Есть ли способ сделать это?

Ответы [ 2 ]

1 голос
/ 17 марта 2019

Для сохранения изменений вам нужен указатель на его текущий совет - например, тег или другую ветвь.

git tag <tag_name> brancha

Затем сбросьте ветку, чтобы она соответствовала текущей origin/master:

git checkout brancha
git reset --hard origin/master
0 голосов
/ 17 марта 2019

Если вы хотите создать новый коммит поверх ваших коммитов Brancha (которые вы хотите сохранить), отражая origin / master, я бы предложил сбросить --hard затем soft (как в " Практическое использование git reset --soft").

m--m--m (origin/master)
       \
        a--a--a (brancha, HEAD)

Сначала сбросьте индекс и рабочее дерево на то, что вы хотите видеть: origin / master

git checkout brancha
git branch tmp
git reset --hard origin/master

m--m--m (origin/master, brancha, HEAD)
       \
        a--a--a (tmp)

Проблема: brancha на историю больше не ссылаются: переместите brancha HEAD обратно в исходное положение, но без изменения индекса и рабочего дерева (которые оба отражают origin/master)

git reset --soft tmp

m--m--m (origin/master)
       \
        a--a--a (tmp, brancha, HEAD)

Теперь вы можете добавлять и фиксировать: это должно вычислить соответствующую дельту, чтобы установить новый коммит с тем же содержимым, что и origin/master.

git add .
git commit -m "Restore origin/master content in a new commit on brancha"

m--m--m (origin/master)
       \
        a--a--a----M (brancha, HEAD)
             (tmp)

M и исходная / основная фиксация должны иметь одинаковое содержимое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...