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
из ветки функций.
Если вы не изменили функцию, она просто переместится к разработке. В противном случае просто разрешите конфликты слияния.