On Wednesday 2007 March 21 15:37, Junio C Hamano wrote:It's definitely not wrong - and I realise you aren't advocating removing fetch & merge; however I wanted to explain why fetch & merge isn't wrong. I almost never use pull; in fact, of the two work methods you mention, I can't see that git-pull would ever be the my regular use case (I wonder if I'm missing something and need enlightening?) Use case (1) A colleague and I work on the same project; with fundamentally the same code base. He commits to one branch and I commit to an other. I want to be able to see what he's doing, but definitely don't want to merge that branch. Regular git-fetch sorts that out. Occasionally, his branch stabilises to the point were we want to merge my changes in. I'm more familiar with both branches than him so it's better if I do the merge and resolve the conflicts. git-merge does that job. Strangely enough, I've also found that it's better to resolve some commits before the merge is done. Using "git-diff mybranch hisbranch" often shows changes that are going to conflict, but don't need to - this is usually things like "// comment this block out while I'm testing something else". Use case (2): I keep branches around for submission to git. Whenever they're ready to go I rebase them on to master resolve conflicts and email them in. That is git-fetch, git-rebase. I have never run git-pull on my git repository. Use case (3): I'm tracking an upstream project that uses svn; git-svn makes light work of keeping up to date with it and keeping a "git-svn" branch to track it. I keep my own local changes to it - never for submission upstream - in a separate branch; infrequently I merge the upstream branch into my own. Your favoured case misses out one significant step: * git-pull * Spend time resolving conflicts * git-reset ORIG_HEAD It's not a sign of distrust that I don't do git-pull; I trust git to do a fantastic job when that moment comes. However, it is a sign of laziness - why should I want to resolve conflicts just so they can be thrown away when I don't like them. Andy -- Dr Andy Parkins, M Eng (hons), MIET andyparkins@gmail.com - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
| Nick Piggin | Re: [Announce] [patch] Modular Scheduler Core and Completely Fair Scheduler [CFS] |
| Greg KH | Linux 2.6.26.3 |
| Vladislav Bolkhovitin | Re: Integration of SCST in the mainstream Linux kernel |
| Greg KH | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
git: | |
| David Symonds | Re: git and binary files |
| Sam Song | Fwd: [OT] Re: Git via a proxy server? |
| Linus Torvalds | Re: [PATCH 0/6] Initial subproject support (RFC?) |
| Petr Baudis | Re: repo.or.cz wishes? |
| GVG GVG | ssh_exchange_identification: Connection closed by remote host |
| Jeff Garzik | Re: Wasting our Freedom |
| Alexey Suslikov | OT: OpenBSD on Asus eeePC |
| ropers | Re: Real men don't attack straw men |
| David Howells | [PATCH 6/7] FS-Cache: CacheFiles: ia64: missing copy_page export [try #13] |
| Valdis.Kletnieks | Re: [RFD] Incremental fsck |
| Chris Mason | Re: [PATCH][RFC] fast file mapping for loop |
| Nikolai Joukov | Re: [ANNOUNCE] RAIF: Redundant Array of Independent Filesystems |
