this post was submitted on 09 Aug 2023
590 points (99.0% liked)

xkcd

8873 readers
416 users here now

A community for a webcomic of romance, sarcasm, math, and language.

founded 1 year ago
MODERATORS
590
xkcd #1597: Git (imgs.xkcd.com)
submitted 1 year ago* (last edited 2 months ago) by Jakylla to c/[email protected]
 

Title text: If that doesn't fix it, git.txt contains the phone number of a friend of mine who understands git. Just wait through a few minutes of 'It's really pretty simple, just think of branches as...' and eventually you'll learn the commands that will fix everything.


Transcript[Cueball points to a computer on a desk while Ponytail and Hairy are standing further away behind an office chair.]

Cueball: This is git. It tracks collaborative work on projects through a beautiful distributed graph theory tree model.
Ponytail: Cool. How do we use it?
Cueball: No idea. Just memorize these shell commands and type them to sync up. If you get errors, save your work elsewhere, delete the project, and download a fresh copy.


top 30 comments
sorted by: hot top controversial new old
[–] [email protected] 72 points 1 year ago (1 children)
[–] [email protected] 16 points 1 year ago (1 children)

As someone new to using git.. Thank you!!

[–] [email protected] 10 points 1 year ago

I've been using git for 10+ years and still sometimes do this. I know I could fix it, I also pretty much know what to do to fix it. However nuking the thing from orbit and restarting takes like 30 secs, so it's never worth fixing.

[–] [email protected] 30 points 1 year ago

Git is something that is very comfortable to use after a year or two, but when you initially start using it, it is just so easy to mess things up in ways that are unrecoverable. I remember the silly days when I'd back up all my changes first before using git since I would so regularly lose everything through a combination of git commands.

It's easy for me now, but the initial stages punish mistakes severely. It's the dark souls of source control, except it's not really fun. It's just a very beginner unfriendly tool.

[–] [email protected] 23 points 1 year ago (2 children)

A good GUI can solve most problems.

[–] [email protected] 11 points 1 year ago (1 children)

If my colleagues mess something up in their fancy GUIs, they come to me to fix it in the terminal.

[–] [email protected] 4 points 1 year ago

My experience is the opposite. A colleague who uses SourceTree and git console (for use cases not covered by SourceTree) asked me a few times to fix his branches when something went wrong (after using git console). I easily fixed it using SmartGit (paid software).

[–] [email protected] 9 points 1 year ago* (last edited 1 year ago) (3 children)

Is there a really good free Git GUI for Linux? I have tried a bunch of them but all the good ones seem to be closed source and paid.

[–] [email protected] 9 points 1 year ago (1 children)

I like SourceTree and it's free. I don't use it all the time, but if I've made a bunch of changes debugging something and I want to easily discard all of the debugging-only changes, the UI makes it really easy to commit or discard individual lines from the changeset.

Additionally, I set up an alias to open it from the command line (stree) and have it show whatever git directory I opened it from.

[–] [email protected] 2 points 1 year ago

Will it run on Linux? I use Sourcetree on Windows but didn't think it was available for Linux.

[–] [email protected] 5 points 1 year ago

Guess it's a bit subjective what would be considered good, but personally I like gitk. It's good enough for me at least.

[–] [email protected] 3 points 1 year ago (1 children)

Gittyup, a fork of GitAhead, is my favorite.

[–] [email protected] 1 points 1 year ago

Thanks. I'll check it out.

[–] [email protected] 19 points 1 year ago (1 children)
[–] [email protected] 2 points 1 year ago

Wrekted 'em!

[–] [email protected] 10 points 1 year ago

I literally did this yesterday.

I've since found chats with Bing are surprisingly informative.

[–] ArbitraryValue 9 points 1 year ago (3 children)
[–] [email protected] 9 points 1 year ago

There's dozens of us! Dozens!

[–] [email protected] 7 points 1 year ago

Shit, I lost the thumb drive that has my entire career's output on it.

[–] [email protected] 2 points 1 year ago

SCCS represent!

[–] [email protected] 9 points 1 year ago (3 children)

I'm using Mercurial for the last 2 years at current company, before that it was 5-7 years of Git on various jobs. It's so much better if you use it correctly (no long-living or big branches). I forgot what hell Git was sometimes.

[–] [email protected] 4 points 1 year ago (1 children)

I have used Mercurial at work for years, and Git for side projects. I screw up far less often in Mercurial, and its tools are easy to use. It's strange how thoroughly Git took over.

[–] [email protected] 0 points 1 year ago (1 children)

It's not that strange. Microsoft owns GitHub.

[–] [email protected] 3 points 1 year ago

GitHub acquisition was fairly recent compared to how long git seems to be the standard

[–] [email protected] 4 points 1 year ago

I miss mercurial so much. Such a better UX.

[–] [email protected] 3 points 1 year ago

I used hg until python switched to git.

if python isn't going to bother them the battle is lost.

[–] [email protected] 7 points 1 year ago (1 children)

IME, to use git effectively, and make sense of the man-pages, you have to know a lot of the internals of how git works. I found it helpful to read "Git from the bottom up" when I had to start using it professionally: https://jwiegley.github.io/git-from-the-bottom-up/

[–] clay_pidgin 1 points 10 months ago

That looks helpful, thank you.

[–] [email protected] 7 points 1 year ago (1 children)

It's all fun and games until your colleague has to pull a PR branch... using fast-forward.

[–] [email protected] 7 points 1 year ago

just rebase your fucking PR so I don't have to deal with it, thank you.