Может ли git постоянно игнорировать удаленную ветку?
Я использую функцию Pages GitHub. Это работает, помещая опубликованный HTML в ветвь с именем gh-pages
. У меня есть два отдельных рабочих каталога: один для самого проекта и один для HTML-документов.
В первом я хочу полностью игнорировать ветвь gh-pages
, поскольку это несвязанная линия работы, и я не хочу, чтобы она загромождала мои различные визуализации фиксации.
То есть у меня есть:
$ git remote show origin
* remote origin
Fetch URL: [email protected]:reidpr/quac.git
Push URL: [email protected]:reidpr/quac.git
HEAD branch: master
Remote branches:
bar tracked
foo tracked
gh-pages tracked
master tracked
Local branches configured for 'git pull':
master merges with remote master
Local refs configured for 'git push':
master pushes to master (up to date)
и я хочу что-то вроде:
$ git remote show origin
[...]
Remote branches:
bar tracked
foo tracked
gh-pages ignored
master tracked
[...]
Обратите внимание, что есть несколько ветвей, которые я хочу отслеживать, и только один, который у меня нет. Я хочу указать последнее, а не первое.
Я могу удалить локальные ссылки на origin/gh-pages
, но затем он возвращается в следующий раз я git fetch
.
Ответы
Ответ 1
Вы можете изменить .gitconfig, поэтому он сообщает git
извлекать только то, что вы просто хотите:
fetch = +refs/heads/mybranch:refs/remotes/origin/mybranch
Кроме того, вы можете создать псевдоним для выборки, которая извлекает то, что вы хотите:
git fetch origin +refs/heads/mybranch:refs/remotes/origin/mybranch
Создание псевдонима так же просто, как добавление нового псевдонима в .gitconfig:
[alias]
myfetch= git fetch origin +refs/heads/mybranch:refs/remotes/origin/mybranch
UPDATE:
Можно указать несколько ветвей:
git fetch origin +refs/heads/master:refs/remotes/origin/master +refs/heads/develop:refs/remotes/origin/develop
Ответ 2
Я просто попал в ту же проблему. Меня интересовала одна ветка от "bob", но у него было много веток, загромождающих мой вывод git branch -a
.
Я сделал это:
rm .git/refs/remotes/bob/{next,master,maint}
и ветки исчезли. A git fetch может их восстановить, но я не собираюсь регулярно выбирать из bob.