On Mon, 4 Jun 2007, Thomas Glanzmann wrote:I'd like to point out some more upsides and downsides of "git rebase". Downsides: - you're rewriting history, so you MUST NOT have made your pre-rebase changes available publicly anywhere else (or you are in a world of pain with duplicate history and tons of confusion) - you can only rebase "simple" commits. If you don't just have a linear history of your own commits, but have merged from others, rebasing isn't a sane alternative (yeah, we could make it do something half-way sane, but really, it's not worth even contemplating) Upsides: - while there may be more conflicts you have to sort out, they may be individually simpler, so you *might* actually prefer to do it that way. - if the reason for the conflicts is that upstream did some nice cleanup in the same area, and you decide that you would actually want to re-do your development based on that nice cleanup, then "git rebase" can actually be used as a way to help you do exactly that. IOW, you can take _advantage_ of the conflicts as a way to re-apply the patches but also then fix them up by hand to work in the new (better) world order. And finally, the upside that is probably the most common case for using "git rebase", and has nothing to do with resolving conflicts before pushing them out with "git push": - if you actually want to send your changes upstream as emailed *patches* rather than by pushing them out (or asking somebody else to pull them), rebasing is an excellent way to keep the set of patches "fresh" on top of the current development tree. People who send their patches out as emails are also unlikely to have the downsides (ie they normally send them as patches exactly *because* they don't want to make their git trees public, and they probably just have a small set of simple patches in their tree anyway) So I have to say, I'm still very ambivalent about rebasing. It's definitely a very useful thing to do, but at the same time I think "git pull" in many ways is often the more honest and correct way to do things. Linus - 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
| Rafael J. Wysocki | [Bug #11207] VolanoMark regression with 2.6.27-rc1 |
| David Miller | [GIT]: Networking |
| Larry Finger | Regression in 2.6.27 caused by commit bfc0f59 |
| Chuck Ebbert | Why do so many machines need "noapic"? |
git: | |
| Alex Riesen | Re: Git Cygwin - unable to create any repository - help! |
| Johan Herland | [PATCH 0/5] Fix 'url.*.insteadOf' for submodule URLs |
| Mike | I don't want the .git directory next to my code. |
| Josh England | cloning/pulling hooks |
| Linux Kernel Mailing List | powerpc/mpc5121: Update device tree for MPC5121ADS evaluation board |
| Linux Kernel Mailing List | powerpc/virtex: Fix booting of Xilinx FPGAs with 16550 for 405 and 440 |
| Linux Kernel Mailing List | x86: add MAP_STACK mmap flag |
| Linux Kernel Mailing List | atmel_lcdfb: don't initialize a pre-allocated framebuffer |
| Alexey Suslikov | OpenBSD 4.2 on Intel Board S3000AHLX + QuadNic EXPI9404PT => couldn't map interrupt |
| Nick Guenther | Re: Real men don't attack straw men |
| Richard Daemon | Nfsen and php problems...? |
| David B. | find -exec {} help |
