From: Andreas Ericsson Date: Wed, 29 Oct 2008 09:48:22 GMT Subject: Re: Do most people feel tracking branches useful? Message-ID: <49083166.7090804@op5.se> In-Reply-To: <49082514.9050405@gmail.com> Liu Yubao wrote: > Hi, > > I often feel tracking branches are useless to me, because there are remote > branches and I work on my private branch in most time. > > repos > | > |-- my (private branch, do my dirty work) > |-- master (tracking branch) > |-- origin/master (remote branch) > > To avoid conflict when execute `git pull` and make the history linear, I work > on branch "my" instead of "master". Here is my work flow: > Use "git fetch" instead of "git pull" and you won't need the 'my' branch. If you use "git pull --rebase" you won't need to bother at all. > 1) use `git fetch` or `git remote update` to synchronize branch "origin/master" > with branch "master" in remote repository; > 2) create a new private branch to polish my commits and rebase it against > "origin/master"; > 3) at last push this new branch to the remote repository or ask the upstream > developer to fetch it(no `git pull` because we want history as linear as possible). > > I don't want to bother with the tracking branch "master", it's identical > with "origin/master". Not unless you "git pull" when there's only fast-forward changes. > Because `git checkout -b xxx ` > will create a tracking branch "xxx" by default, so my question is: > do most people feel tracking branches useful? > I use them all the time. They're immensely useful to me. I can't understand why you're working so hard for a linear history, but perhaps that's just an effect of only having leaf developers. I also can't understand why you'd want to sync with upstream at all if you're just working on a single feature/bugfix at the time, since you'd probably be better off by just completing that single feature in your own time and doing "git pull --rebase && git push" when you're done. -- Andreas Ericsson andreas.ericsson@op5.se OP5 AB www.op5.se Tel: +46 8-230225 Fax: +46 8-230231