From: SungHyun Nam Date: Fri, 09 May 2008 08:28:13 GMT Subject: Re: git pull/merge master on other branch Message-ID: In-Reply-To: <200805090824.12772.johan@herland.net> Johan Herland wrote, at 5/9/2008 3:24 PM: > On Friday 09 May 2008, SungHyun Nam wrote: >> Hello, >> >> If I am on a branch (reguarly rebased), I don't want to switch to >> master branch, but merge origin into master. >> If I switch to master and pull and switch to branch, I have to >> rebuild almost of sources. >> >> How I can pull origin into master without switching to master >> branch? > > You can't; merging requires use of the working tree (to resolve conflicts). > > However, what you can do is make a local clone of your project (cheap, > because it just hardlinks files from the original repo), and checkout the > master branch in the clone, perform the merge (after having set up the same > origin and retrieved its contents), and then fetch (or push) the result back > into the original repo (remember: "fetch" instead of "pull", since the > latter will initiate a merge with your current branch). I tested and it seems work fine. $ mkdir repo; cd repo; git init; echo 'aaa' > a; git add .; git ci -m 'aaa'; cd .. $ git clone repo t; cd t; git co -b test; cd .. $ cd repo; echo 'bbb' >> a; git ci -m 'bbb' a; cd .. $ git clone t t2; cd t2; git remote add central ../repo; git pull central master; git push origin; cd .. $ cd t; git log; git log master; git rebase master Did I do correctly? Thanks, namsh