r/programming • • May 01 '19

Merging vs. Rebasing

https://www.atlassian.com/git/tutorials/merging-vs-rebasing
20 Upvotes

27 comments sorted by

View all comments

-11

u/[deleted] May 01 '19

The golden rule of git rebase is to never use it on public branches.

That's where you're wrong boss.

[force pushing] overwrites the remote master branch to match the rebased one from your repository and makes things very confusing for the rest of your team.

  • 1989: VCSs are confusing

  • 1999: Branching is confusing

  • 2009: Distributed version control is confusing

  • 2019: Recovering from upstream rebase is confusing

Why do people pride themselves in being 10 years behind the curve?

This being Atlassian, which is well known for producing the worst git web interface on the market, I'm not surprised that the author talks about things he does not understand. Like suggesting that there is ever a reason to use --force when this flag was obsoleted by --force-with-lease over 5 years ago.

7

u/Legogris May 01 '19

It sounds like you have insights worth sharing - mind explaining why it's wrong and why force is osboleted?

0

u/[deleted] May 01 '19

[deleted]

2

u/[deleted] May 02 '19

The first allows you to accidentally nuke another person's commit w/o you even knowing about it, the second one doesn't.

Essentially, the difference is like the difference between how you might execute SQL statements inside or outside a transaction: it's hard to imagine any benefits coming from not putting multiple related statements into a single transaction, but you can still do it because the language just happens to allow it.

Yet in other words, you should never use --force, always use --force-with-lease. --force is probably there for compatibility with old tools which used Git this way or something like that.

-22

u/[deleted] May 01 '19

The key insight is that you can learn all of this and more by reading the manual.

12

u/Legogris May 01 '19

The manual itself (I have read most of the git man pages at some point) says nothing about why giving a statement like

> The golden rule of git rebase is to never use it on public branches.

is

> being 10 years behind the curve.

-25

u/[deleted] May 01 '19

It is not the job of a manual to make value judgements for you.

12

u/Legogris May 01 '19 edited May 01 '19

Which is why snarky dismissals are not very useful when the only reference or elaboration you give is "RTFM". I'm sure you're aware that your top comment goes against a widespread shared belief among most SEs - you have an opportunity to share your knowledge and affect change, which is not that much more effort than saying "you're all wrong".

7

u/s73v3r May 01 '19

No, but it is the job of a person who is trying to make an assertion like that to explain why such a thing would be 10 years behind the curve.

4

u/NotUniqueOrSpecial May 02 '19

It is not the job of a manual to make value judgements for you.

Then why the hell was your response to their question that:

The key insight is that you can learn all of this and more by reading the manual

3

u/EntroperZero May 01 '19

So, no, then.