'git config: remote.<name>.fetch - is it possible to set up exceptions?
It is possible to set up rules like fetch = +refs/heads/*:refs/remotes/origin/* to fetch all branches matching certain glob.
But is it possible to exclude something from the list? For example, I don't want to fetch anything from refs/heads/X/* because it is used by our automated tool, and there're often lots of small branches I have no need to see ever.
Solution 1:[1]
Starting with Git v2.29.0, there is a way. Negative refspecs have been added to the logic.
Add another line to your .git/config for that remote that looks like this: fetch = ^refs/heads/X/*. You can find more details in this other answer.
Solution 2:[2]
Unfortunately, no. To exclude X/* you must list (positively) everything not X/*.
Depending on how you name your refs / branches, this may be easy enough, or may be especially difficult. You could automate it to a large extent using git ls-remote and a script (use grep, or python code, or whatever, to exclude X/* while adding every other reference).
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | |
| Solution 2 | torek |
