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,688 times
        
    9
            
            
         
    
    
        Alexey Romanov
        
- 167,066
- 35
- 309
- 487
1 Answers
8
            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.
- 
                    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
 
    