this post was submitted on 03 Mar 2024
1097 points (97.8% liked)

Programmer Humor

19564 readers
1523 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 34 points 8 months ago (9 children)

Once you understand that everything is similar to a tag, like branch names are basically tags that move forward with each commit, that HEAD is a tag that points to your current commit location in history, and what command moves what kind of tag, it becomes easier to understand.

Suddenly having a detached HEAD isn't as scary as you might think. You get a better understanding of fast forward merges vs regular 3-way merge.

Also understanding that each commit is unique and will always remain in the history and can be recovered using special commands. Nothing is lost in git, unless you delete the .git sub-directory.

[–] [email protected] 4 points 8 months ago (2 children)

Orphaned commits can get garbage collected at some point, though.

[–] [email protected] 2 points 8 months ago* (last edited 8 months ago) (1 children)

Oh fuck. I didn't think of that. Than you for reminding me.

Edit: Ah but you can only run this in your local repo. If you happen to push anything, you might not be able to run it on the remote. Many DevOps platforms won't allow it.

[–] [email protected] 2 points 8 months ago

Oh yeah, and anybody else who had fetched in those commits may still have them as well. It's hard for something to be gone-gone, but it may be annoyingly-hard-to-recover-gone.

load more comments (6 replies)