Команда git branch делает несколько больше, чем просто создаёт и удаляет ветки. Если вы выполните её без аргументов, то получите простой список имеющихся у вас веток:
Обратите внимание на символ *, стоящий перед веткой master: он указывает на ветку, на которой вы находитесь в настоящий момент. Это означает, что если вы сейчас выполните коммит, ветка master переместится вперёд в соответствии с вашими последними изменениями. Чтобы посмотреть последний коммит на каждой из веток, выполните команду git branch -v:
Ещё одна полезная возможность для выяснения состояния веток состоит в том, чтобы оставить в этом списке только те ветки, которые вы слили (или не слили) в ветку, на которой сейчас находитесь. Для этих целей в Git'е есть опции --merged и --no-merged. Чтобы посмотреть те ветки, которые вы уже слили с текущей, можете выполнить команду git branch --merged:
Я перешел в ветку iss53 и там дал эту команду. Поскольку я слил ветки hotfix и master в ветку iss53, то эта команда дала такой результат.
Те ветки из этого списка, перед которыми нет символа *, можно смело удалять командой git branch -d; вы уже включили наработки из этих веток в другую ветку, так что вы ничего не потеряете.
Чтобы увидеть все ветки, содержащие наработки, которые вы пока ещё не слили в текущую ветку, выполните команду git branch --no-merged:
Поскольку у меня уже нет не слитых изменений из других веток, то вывод этой команды пустой. Если сейчас создать какую-нибудь ветку и сделать там изменения то они появятся в выводе этой команды.
Вы увидите оставшуюся ветку newtest. Так как она содержит ещё не слитые наработки, попытка удалить её командой git branch -d не увенчается успехом:
Если вы действительно хотите удалить ветку и потерять наработки, вы можете сделать это при помощи опции -D, как указано в подсказке.
Комментариев нет:
Отправить комментарий