←back to thread

848 points thefilmore | 6 comments | | HN request time: 0s | source | bottom
Show context
bandrami ◴[] No.43969975[source]
Pretty cool that Linus Torvalds invented a completely distributed version control system and 20 years later we all use it to store our code in a single place.
replies(29): >>43969999 #>>43970002 #>>43970008 #>>43970018 #>>43970019 #>>43970028 #>>43970031 #>>43970032 #>>43970036 #>>43970037 #>>43970142 #>>43970154 #>>43970198 #>>43970282 #>>43970314 #>>43970343 #>>43970418 #>>43970419 #>>43970431 #>>43970434 #>>43970451 #>>43970472 #>>43970541 #>>43970904 #>>43971268 #>>43971299 #>>43971387 #>>43971586 #>>43988717 #
ratatoskrt ◴[] No.43970008[source]
To be fair, Git itself is a bit of a pain, and GitHub's main achievement is/was to make it somewhat bearable.
replies(3): >>43970020 #>>43970066 #>>43970187 #
spookie ◴[] No.43970187[source]
To be fair, most of the its difficulty is realized when you're stuck with a teammate rewriting history. Who, much like anyone anyone doing the same, hasn't bothered reading a book explaining things.
replies(3): >>43970280 #>>43970348 #>>43970388 #
baq ◴[] No.43970280[source]
If you don't rewrite history in git, I don't want to bisect in your repos.

If you push rewritten history to master, you're a git.

Conclusion: learn your tools.

replies(2): >>43970414 #>>43988211 #
1. mkesper ◴[] No.43970414[source]
The modern workflow is just to let GitHub squeeze yor shit commits into one and then rebasing that.
replies(3): >>43970622 #>>43971671 #>>43976065 #
2. baq ◴[] No.43970622[source]
Hardly anything modern about it, but it's a way of keeping a somewhat sane history. Certainly better than merging 'fix' 'fix' 'fix comments' into master.

The thing is, we could have done better (and have been) since before git even existed.

3. cmrdporcupine ◴[] No.43971671[source]
There are legit reasons to have a series of commits within one PR, and rebase and merge them as is, and use amend/fixup and force pushes to maintain them cleanly.

It's not my favourite process, but...

4. vvillena ◴[] No.43976065[source]
The "squash everything" mantra turns git commit history into a series of snapshots devoid of any logical notion about how code evolves.

Squashed commits are strictly worse than plain, non-fast-forwarded merges from rebased branches.

replies(1): >>43976294 #
5. baq ◴[] No.43976294[source]
Depends on your commits. If it’s untested noise I’d much rather they’re squashed so bisect doesn’t meander in trash.
replies(1): >>43976506 #
6. vvillena ◴[] No.43976506{3}[source]
Bisecting with --first-parent takes care of this.