Re: Merge into locally modified files?
- From
Jon Smirl <jonsmirl@gmail.com>
- Date
- Jun 8, 2009, 23:19 UTC
- Message-ID
- <9e4733910906081619u19f12220g7fab11c94b9aa8a5@mail.gmail.com>
- In-Reply-To
- <2729632a0906081030k5048cb27p6950a0decaa7396a@mail.gmail.com>
On Mon, Jun 8, 2009 at 1:30 PM, <skillzero@gmail.com> wrote:
Show 9 quoted lines
> If I have some local changes to a file that I don't want to commit > (e.g. temp debug changes like printf's) and I see somebody else has > pushed some changes to that file, how do I merge their changes to the > file while trying to preserve my local changes (and conflicting if > it's not possible)? > > After a git fetch, I tried 'git checkout --merge origin/master <path > to my locally modified file>', but that just overwrote my local > changes.
I use stgit to do this all of the time. stgit is all about patch stacks. You just add your debug stuff to a stgit patch and then you can push/pop it.
stg new debug-patch ..make debug edits.. stg refresh
git fetch origin stg rebase origin/master ... fix conflicts, you get prompted...
you're done.
Show 17 quoted lines
> > I'm converting people from CVS to git and this is a common thing > people do with CVS. They have some local changes and see that the > server has some other changes so they do 'cvs up' and it tries to > merge changes from the server into the locally modified file. The > local changes are often things that will never be committed. I know > git tries to avoid things you can't undo, but like a 'git checkout > <file>' that can't be undone, is there a way to say "merge what you > can and generate conflict markers for things you can't?". > > I think what I want to do is the equivalent of rebasing for local > modified files rather than committed files. > -- > To unsubscribe from this list: send the line "unsubscribe git" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html >
-- Jon Smirl jonsmirl@gmail.com