I'm using the Pages feature of GitHub. This works by putting the published HTML in a branch called gh-pages. I have two separate working directories, one for the project itself and one for the HTML docs.
In the former, I want to completely ignore the gh-pages branch, as it's an unrelated line of work and I don't want it to clutter up my various commit visualizations.
That is, what I have is:
$ git remote show origin
* remote origin
Fetch URL: git@github.com:reidpr/quac.git
Push URL: git@github.com: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)
and what I want is something like:
$ git remote show origin
[...]
Remote branches:
bar tracked
foo tracked
gh-pages ignored
master tracked
[...]
Note there are several branches that I do want to track, and just one that I don't. I want to specify the latter, not the former.
I can delete the local references to origin/gh-pages, but then it comes back next time I git fetch.
You can modify the .gitconfig, so it tells git to fetch only what you just want:
fetch = +refs/heads/mybranch:refs/remotes/origin/mybranch
Also, you can create an alias for the fetch which fetches what you want:
git fetch origin +refs/heads/mybranch:refs/remotes/origin/mybranch
The creation of an alias is as simple as adding the new alias in .gitconfig:
[alias]
myfetch= git fetch origin +refs/heads/mybranch:refs/remotes/origin/mybranch
UPDATE:
You can specify more branches of course:
git fetch origin +refs/heads/master:refs/remotes/origin/master +refs/heads/develop:refs/remotes/origin/develop
I just hit the same problem. I was interested in one branch from 'bob', but he had many branches cluttering up my git branch -a output.
I did this:
rm .git/refs/remotes/bob/{next,master,maint}
and the branches were gone. A git fetch might restore them though, but I don't intend to fetch from bob regularly.
来源:https://stackoverflow.com/questions/16842426/can-git-permanently-ignore-a-remote-branch