I am certain two branches of my Git repo should only ever be different in a single file. The simplest way to ensure this is to do all work in branch1, and merge it into branch2 whenever I switch to it (wrapped into a shell script, so I only need one command per switch). However, is there a way to do this with even less work?
Asked
Active
Viewed 3,041 times
7
Alexey Romanov
- 160,869
- 33
- 291
- 457
1 Answers
7
Yes, use a git filter driver, with a smudge script intelligent enough to:
- recognize it is dealing with that single file (reminder: such a script only deals with file content, not filename)
- put the right content depending on the current branch.
But the question is: do you need two branches at all?
If this is a config file, as mentioned in "Git: how maintain (mostly) parallel branches with only a few difference?", storing templates might be better. That same question proposes other alternatives.
-
Excellent, I will look into it! – Alexey Romanov Oct 29 '10 at 13:37
-
1+1 Finally, out of all the "duplicate" related posts on this site, @VonC provides the correct way of doing it. Perhaps harder at first, but its not a hack like the rebase methods. – Richard Le Mesurier Apr 04 '14 at 17:02