I have a config file which I don't want to store in my repo. Unfortunately I added it to repo by accident, but after few commits I removed it and added to .gitignore file. Only problem I have now is that when checking out a commit from times before ignoring this file, Git still modifies this file and removes it when going back to the current commit, so I lose it permanently. How can I fix it?
            Asked
            
        
        
            Active
            
        
            Viewed 38 times
        
    0
            
            
         
    
    
        Karol Selak
        
- 4,248
- 6
- 35
- 65
- 
                    1Unfortunately, there's nothing you can do about the commits that have the file: they will always have the file. (Well, you can stop using them, and perhaps even "rewrite history" so that everyone stops using them, but that's a bit drastic.) You could try using sparse checkout to avoid touching that file but I have no experience with this, so am not making it an answer. – torek Nov 14 '17 at 18:11
- 
                    Hm. I'm surprised this happens, since you usually get the "Untracked working tree file ... would be overwritten by merge" message, but having the file in .gitignore seems to suppress it. – trent Nov 14 '17 at 18:12
- 
                    Actually I think https://stackoverflow.com/questions/3839152/prevent-git-checkout-from-overwriting-a-file is a more precise dupe. – trent Nov 14 '17 at 18:27