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

Может ли 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.

4b9b3361

Ответ 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.