Подтвердить что ты не робот

Почему 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?

4b9b3361

Ответ 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