Я удалил ветвь локально, но он продолжает возвращаться (проблема с автозаполнением) [дубликат]

Это работало для меня, когда значение пришло из TextBox:

string.replace(/\n|\r\n|\r/g, '<br/>');
72
задан John Hoffman 29 July 2013 в 21:17
поделиться

3 ответа

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

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

47
ответ дан twalberg 22 August 2018 в 08:16
поделиться
  • 1
    Благодаря! Кажется, это преступник. origin/myBranch все еще существует. Если я удалил ветвь myBranch в Github (через онлайн-интерфейс), безопасно ли мне позвонить git branch -d origin/myBranch для удаления этой удаленной ветки? – John Hoffman 30 July 2013 в 19:03
  • 2
    @JohnHoffman Это должно быть безопасно, но я думаю, что лучший способ - git fetch --prune origin. Это очистит все локальные ветви отслеживания, которые больше не существуют на пульте дистанционного управления. – twalberg 30 July 2013 в 20:18
  • 3
    Спасибо! Это сработало! – John Hoffman 31 July 2013 в 22:31
  • 4
    @twalberg Я не считаю, что просто удалить локальную и удаленную ветку достаточно, чтобы избавиться от всех старых ветвей в автозаполнении. Я считаю, что вам нужно > git fetch --prune origin, чтобы локальные ссылки на удаленные ветви исчезли в автозаполнении. Может быть, хорошо переместить это из комментария к ответу. В любом случае спасибо за ваш ответ, поскольку это помогло мне! – timmyl 24 May 2015 в 12:22
  • 5
    git branch -a вел меня по правильному пути; мой коллега предложил git fetch --prune --all обрезать все мертвые ветви со всех пультов, что полезно при работе с большим количеством разработчиков с большим количеством вилок. – ericsoco 26 June 2015 в 16:06

git fetch --prune --all

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

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

87
ответ дан ericsoco 22 August 2018 в 08:16
поделиться
  • 1
    Хотя принятый ответ дает хорошее объяснение, почему это происходит, этот ответ представляет собой фактическое решение проблемы и поэтому должен быть принят IMHO. – Patrick Oscity 22 October 2015 в 09:16

Это, вероятно, не делает этого, это ваша оболочка, завершающая команду, так как вы использовали ее раньше.

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

-2
ответ дан Steven V 22 August 2018 в 08:16
поделиться
  • 1
    Нет, это не история истории. Это git autocomplete . Другой, но очень полезный инструмент. – Arjan 29 July 2013 в 22:21
  • 2
    @Arjan Wow, не знал, что это так. Думаю, я предположил, что вкладка просто не работает и никогда не пробовала. Благодаря! – Steven V 29 July 2013 в 22:24
  • 3
    Тогда Linux сам что-то пишет, вы бы сделали ставку на автозаполнение: 3 – ThorSummoner 29 October 2014 в 22:15
Другие вопросы по тегам:

Похожие вопросы: