Keeping local changes in a git repo
Say I have a file in a git repo:
#file.py setting1 = default1 setting2 = default2 <some code>
Now I want to make some local changes that don’t get pushed back into the repo
#file.py - local change setting1 = mysetting1 setting2 = mysetting2 <some code>
Say sometime in the future the upstream repo is updated, and I want to pull down their changes without messing up my local settings. I.E a git command I could run that would update the file so that it would be
#file.py - updated copy setting1 = mysetting1 setting2 = mysetting2 <new code>
Is there some way to do this, either with branches or some other git feature where I don’t have to put local settings in a separate file?
I’ve seen several other questions like this, but they focus on excluding a whole file.
2 Solutions collect form web for “Keeping local changes in a git repo”
Take a look at
git stash. It is also a “whole file” method, but you might find it is flexible enough.
git gui and a lot of rebasing (
git rebase --interactive) or cherry-picking (
git cherry-pick) or just a side branch should help.
What you are doing is probably changing connection strings and such. It is something that is local to your environment. The proper way to handle this is through smudge/clean scripts. Take a look at the “Git Attributes” chapter in the Pro Git book (freely available).