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

Так много неиспользуемых ветвей. Как очистить?

У меня есть следующие ветки:

* master
newbranch
remotes/origin/HEAD -> origin/master
remotes/origin/api-notes
remotes/origin/event-creation-validation
remotes/origin/master
remotes/origin/organizerlocation-bug-demo
remotes/origin/ticket-180
  • Разве текущий мастер ветвления отличается от начального/ведущего или эти ветки работают вместе?

  • Как я могу обнаружить последние изменения в разных ветвях и как их удалить для очистки?

Большое спасибо.

4b9b3361

Ответ 1

1/Разве текущий мастер ветвления отличается от начального/ведущего или эти ветки работают вместе?

Это другое (даже если оно начиналось с origin/master после клона) и не отслеживает origin/master (см. "как изменить удаленный a git ветка отслеживает?" ).

2/как я могу удалить их для очистки

Вы можете удалить ветку из пространства имен пультов с помощью:

git branch -rd origin/api-notes

(Подробнее в разделе Как удалить неверную ссылку удаленного ветки из Git?")

Вы можете git diff или git записать две ветки, чтобы увидеть коммиты, которых у вас нет:
См. "Git diff..? В чем разница между тем, что .. и нет точек?".
См. Также "Git: Сравнить все локальные компиляции в версии удаленного репо.

Ответ 2

У вас нет причин беспокоиться или что-то делать. Вот почему:

Является ли текущий мастер ветвления отличным от начального/ведущего или эти ветки работают вместе?

Если вы создали мастер как ветку отслеживания или если вы клонировали его (по умолчанию клонирование создает мастер отслеживания), то да, вроде. Отслеживание просто означает, что git будет использовать это отображение ветки в качестве цели по умолчанию для push и для слияния. Он также отображает сообщения о состоянии, такие как "ведущий мастер впереди начала/мастера на 2 фиксации".

Как определить последние изменения в разных ветвях?

Я бы просто использовал

git branch -av

Здесь отображается короткий идентификатор фиксации и краткое резюме для всех ветвей, локальных и удаленных.

Кроме того, вы можете использовать журнал git. git log --decorate очень полезно видеть, какие ветки указывают на то, что совершает. В последних версиях git (1.7.11+) вы можете включить его на постоянной основе с помощью этой команды:

git config --global log.decorate short

Как удалить их для очистки?

У вас нет - удаленные ветки не принадлежат вам. Удаленные ветки просто отражают состояние пульта дистанционного управления в момент последнего git fetch. Вы не можете их создать, и даже если вы удалите их с помощью git branch -rd, когда в следующий раз вы сделаете git fetch, эти удаленные указатели разворота будут немедленно возвращены.

Но если вы полностью удалите этот пульт:

git remote rm origin

то все удаленные ветки для этого пульта будут удалены сразу.