Почему git позволяет мне безопасно удалить ветвь?
Мне нужно было объединить две ветки - second
в first
, а затем избавиться от second
. Вот что я сделал:
-
git clone
d проект, чтобы получить новую копию
-
git checkout --track origin/second
, внесла некоторые изменения и совершил
-
git checkout --track origin/first
, внесли некоторые изменения и совершили
-
git merge second
(git говорит "слияние, сделанное рекурсивным" )
-
git branch -d second
Затем git говорит:
$ git branch -d second
warning: not deleting branch 'second' that is not yet merged to
'refs/remotes/origin/second', even though it is merged to HEAD.
error: The branch 'second' is not fully merged.
If you are sure you want to delete it, run 'git branch -D second'.
Почему это происходит? Я никогда не получал это сообщение после слияния раньше. Слияние работало отлично, никаких конфликтов. Как безопасно удалить ветвь second
?
Ответы
Ответ 1
На основании моих экспериментов и комментариев @knittl и @twalberg кажется, что git просто хотел, чтобы я нажал свои изменения в ветке second
, прежде чем удалять его.
Я сделал:
$ git checkout second
$ git push origin second
$ git checkout first
$ git branch -d second
который работал без предупреждений.
Ответ 2
Две строки
git push -u origin second
git branch -d second