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

Как удалить удаленные имена ветвей из автозаполнения?

Я использовал git branch -d myBranch для удаления ветки. Однако, когда я нахожусь на хозяине и пытаюсь проверить новую ветку с git checkout, myBranch все еще появляется в вкладке-автозаполнении.

Как удалить имя myBranch из tab-autocomplete для git checkout?

4b9b3361

Ответ 1

Одна из возможных причин этого заключается в том, что если удаленная ветвь (например, origin/myBranch) все еще существует, то git checkout myBranch будет успешной в качестве альтернативы git checkout -b myBranch origin/myBranch. Это предназначено в качестве удобства для обычного случая проверки удаленной ветки в первый раз, создавая локальную ветвь отслеживания с одинаковым именем.

Существуют и другие возможности, в зависимости от того, что именно вы используете для завершения, но это одна из первых вещей, которые я проверял. Если вы запустите git branch -a и указана origin/myBranch (или одна для удаленного, отличного от origin, если у вас есть), то это может быть виновным.

Ответ 2

git fetch --prune --all

Проводя это как свой собственный ответ, так как это однострочное исправление, но если вы голосуете, обязательно проголосуйте за @twalberg ответ выше.

@twalberg предложение git branch -a привело меня на правильный путь; мой коллега предложил git fetch --prune --all обрезать все мертвые ветки со всех пультов, что полезно при работе с большим количеством разработчиков с большим количеством вилок.

Ответ 3

Возможно, это не будет git, что ваша оболочка завершает команду, так как вы ее использовали раньше.

Вы можете взглянуть на свою историю, набрав history или отредактировав ~/.bash_history. Вы можете редактировать свою историю из файла ~/.bash_history, или вы можете ввести history, затем введите номер строки с git checkout myBranch, а затем используйте history -d {line number here}. В крайнем случае вы можете использовать команду history -c, чтобы полностью уничтожить историю.