From: Andreas Ericsson Date: Mon, 08 Jun 2009 23:10:02 GMT Subject: Re: Merge into locally modified files? Message-ID: <4A2D9A4A.60804@op5.com> In-Reply-To: <2729632a0906081030k5048cb27p6950a0decaa7396a@mail.gmail.com> skillzero@gmail.com wrote: > 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 to my locally modified file>', but that just overwrote my local > changes. > > 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 > ' 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. git stash && git pull && git stash pop should do roughly what you want. /Andreas