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'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@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html