Re: git pull/merge master on other branch
- From
- SungHyun Nam <goweol@gmail.com>
- Date
- May 9, 2008, 08:28 UTC
- Message-ID
- <g011ve$8ln$1@ger.gmane.org>
- In-Reply-To
- <200805090824.12772.johan@herland.net>
Johan Herland wrote, at 5/9/2008 3:24 PM:
Show 19 quoted lines
> 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