git - использовать существующую ветку, но скопировать в нее самую последнюю из текущей ветки

У нас есть веткаfeature), который был использован некоторое время назад. Изменения от feature были интегрированы обратно в ветку разработки (development). Но с тех пор development был пересмотрен, и feature не имеет, то есть имеет старый код. Мы пересматриваем ту же функцию и хотели бы повторно использовать эту ветку. Как мы уверены, feature знак равно development?

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

2 ответа

Решение

Если вы просто хотите отказаться от старого feature ветка:

git checkout master              # Make sure we are there
git branch -d feature            # Kill old branch dead
git checkout -b feature          # New feature branch, starting at current master

Но в этом случае я бы просто оставил это лежать (или, возможно, переименовать его в historic/feature или такой) и просто создайте новую ветвь для порки новой функции.

Другие варианты перебазировать feature на вершине master (в основном, прививка там; уже внесенные изменения должны вступить во владение).

git tag feature save-this-just-in-case   # History rewriting might lose it...
git checkout feature
git rebase master

Будьте осторожны, ответвления feature не буду следить за этим вокруг!

Или даже просто объединить изменения в master в feature:

git checkout feature
git merge master

PS: Прежде чем слепо следовать советам кого-то на другом конце света, размещать (полу) анонимно на каком-то случайном сайте, прочитайте руководства и проведите несколько экспериментов с пустым (копией) репозитория.

Вы должны объединить ветви с git merge development из ветки функций.
Если вы не изменили функцию, она просто переместится к разработке. В противном случае просто разрешите конфликты слияния.

Другие вопросы по тегам