Difference between revisions of "1296: Git Commit"

Explain xkcd: It's 'cause you're dumb.
Jump to: navigation, search
('); DROP TABLE students;)
(derp)
Line 9: Line 9:
 
==Explanation==
 
==Explanation==
  
This comic refers to the {{w|Git (software)|Git}} source code revision control software, in which multiple users can upload source code for a shared project (sort of like {{w|Google Docs}} for coding). A {{w|wikt:commit#Noun|''commit''}} is a saved version in a Git repository; commits come with "commit messages," which are supposed to describe what the commit does (similar to the edit summaries used on {{w|MediaWiki}} sites such as ''explain xkcd'') and [http://www.explainxkcd.com/wiki/index.php?title=1296:_Git_Commit&action=history this explanation]. [[Randall]], however, finds himself losing interest in the commit messages the more code he writes, and winds up just using placeholder text or jokes to himself. Presumably, this is because his separate commits are part of a large effort that can't be effectively summarized, and where there's no particular urgent need to differentiate the commits. Seeing as in this context 12 hours of coding can be considered "dragging on," it's safe to assume that the kinds of commits Randall is talking about are not for some major in-production project, nor for something that a lot of other people are working on. In both of those cases, one would be much more likely to use descriptive commit messages, since you want to flag things that are important, either from a technical standpoint (e.g. "fix the thing that's making the site not work") or for the benefit of others who want to know which commits they should be paying attention to.
+
This comic refers to the {{w|Git (software)|Git}} source code revision control software, in which multiple users can upload source code for a shared project (sort of like {{w|Google Docs}} for coding). A {{w|wikt:commit#Noun|''commit''}} is a saved version in a Git repository; commits come with "commit messages," which are supposed to describe what the commit does (similar to the edit summaries used on {{w|MediaWiki}} sites such as ''explain xkcd'' and on [http://www.explainxkcd.com/wiki/index.php?title=1296:_Git_Commit&action=history this explanation]. [[Randall]], however, finds himself losing interest in the commit messages the more code he writes, and winds up just using placeholder text or jokes to himself. Presumably, this is because his separate commits are part of a large effort that can't be effectively summarized, and where there's no particular urgent need to differentiate the commits. Seeing as in this context 12 hours of coding can be considered "dragging on," it's safe to assume that the kinds of commits Randall is talking about are not for some major in-production project, nor for something that a lot of other people are working on. In both of those cases, one would be much more likely to use descriptive commit messages, since you want to flag things that are important, either from a technical standpoint (e.g. "fix the thing that's making the site not work") or for the benefit of others who want to know which commits they should be paying attention to.
  
 
The phrase "Merge branch 'asdfasjkfdlas/alkdjf' into sdkjfls-final" mimics the phrasing used by Git. Here, we see that Randall has also given his files nonsensical names: "branch 'asdfasjkfdlas/alkdjf' " would be a specific group of commits, and "sdkjfls-final" would be the batch of code that is to be considered the final revision. To "merge branch 'asdfasjkfdlas/alkdjf' into sdkjfls-final" is to include the branch in the final batch of code, which is generally done to state that it is ready for production.
 
The phrase "Merge branch 'asdfasjkfdlas/alkdjf' into sdkjfls-final" mimics the phrasing used by Git. Here, we see that Randall has also given his files nonsensical names: "branch 'asdfasjkfdlas/alkdjf' " would be a specific group of commits, and "sdkjfls-final" would be the batch of code that is to be considered the final revision. To "merge branch 'asdfasjkfdlas/alkdjf' into sdkjfls-final" is to include the branch in the final batch of code, which is generally done to state that it is ready for production.

Revision as of 13:34, 27 November 2013

Git Commit
Merge branch 'asdfasjkfdlas/alkdjf' into sdkjfls-final
Title text: Merge branch 'asdfasjkfdlas/alkdjf' into sdkjfls-final

Explanation

This comic refers to the Git source code revision control software, in which multiple users can upload source code for a shared project (sort of like Google Docs for coding). A commit is a saved version in a Git repository; commits come with "commit messages," which are supposed to describe what the commit does (similar to the edit summaries used on MediaWiki sites such as explain xkcd and on this explanation. Randall, however, finds himself losing interest in the commit messages the more code he writes, and winds up just using placeholder text or jokes to himself. Presumably, this is because his separate commits are part of a large effort that can't be effectively summarized, and where there's no particular urgent need to differentiate the commits. Seeing as in this context 12 hours of coding can be considered "dragging on," it's safe to assume that the kinds of commits Randall is talking about are not for some major in-production project, nor for something that a lot of other people are working on. In both of those cases, one would be much more likely to use descriptive commit messages, since you want to flag things that are important, either from a technical standpoint (e.g. "fix the thing that's making the site not work") or for the benefit of others who want to know which commits they should be paying attention to.

The phrase "Merge branch 'asdfasjkfdlas/alkdjf' into sdkjfls-final" mimics the phrasing used by Git. Here, we see that Randall has also given his files nonsensical names: "branch 'asdfasjkfdlas/alkdjf' " would be a specific group of commits, and "sdkjfls-final" would be the batch of code that is to be considered the final revision. To "merge branch 'asdfasjkfdlas/alkdjf' into sdkjfls-final" is to include the branch in the final batch of code, which is generally done to state that it is ready for production.

Transcript

Ambox notice.png This transcript is incomplete. Please help editing it! Thanks.


comment.png add a comment! ⋅ comment.png add a topic (use sparingly)! ⋅ Icons-mini-action refresh blue.gif refresh comments!

Discussion

Note that in most (all?) graphical history viewers for Git time flows from bottom up, i.e. newest commits are on top, not on bottom as in this comics --JakubNarebski (talk) 07:21, 27 November 2013 (UTC)

  • This was bothering me. I was starting to doubt my own experience, and intended to switch to an old project to check. — Kazvorpal (talk) 22:16, 18 December 2016 (UTC)

I can relate. While I start with reasonable commit messages every day, working on one feature often results in

(good description of feature)
bugfixes for (description of feature)
another bugfix
damn
should work now
grrr
typo
I hate (some used library)

when I either need commit to deploy or I'm so sure it will work I don't test it deeply enough. If I would be using git, these could be merged, but I'm not. -- Hkmaly (talk) 10:51, 27 November 2013 (UTC)

Once I made a commit titled "lotsa shit" 108.162.245.130 (talk) (please sign your comments with ~~~~)

What does the line graphic in the left-most column represent? Smperron (talk) 13:03, 27 November 2013 (UTC)

This is the Git commit graph, in various ways of looking at a commit history git draws a graph like that to show branching and merging. 141.101.98.229 (talk) (please sign your comments with ~~~~)

Nice explanation folks. Makes the comic understandable/humorous to a non-coder. (unless you count VBScript) --DanB (talk) 13:16, 27 November 2013 (UTC)

Nothing wrong with VBScript, though "coder" could be stretching the definition by a bit. (git it?) JChrisCompton (talk) 19:41, 5 December 2013 (UTC)
You seem to understand it pretty well now, DanB, judging by your edit history. --Aaron of Mpls (talk) 07:56, 18 April 2014 (UTC)

Commit Cloud is a relevant tool to read commit messages from Github and build a word cloud from the most-used words. 108.162.214.41 (talk) (please sign your comments with ~~~~)

Mine actually lists a link to this comic. I'm laughing so hard right now. Okofish (talk) 09:35, 13 January 2015 (UTC)

I'm very glad I'm not the only person this happens to. --Okofish (talk) 15:23, 27 November 2013 (UTC)

Regarding "although he seems to have avoided the ; key for some reason": A likely reason is that messages are passed on the command line with -m and without surrounding quotes to save time, and the ; ends the command line. 108.162.221.54 06:03, 1 December 2013 (UTC)

haaaaaaands 162.158.74.15 21:18, 4 December 2018 (UTC)u2603

10/10 explanation of keyboard slams right there in that last paragraph 172.68.133.18 00:51, 15 December 2018 (UTC)

One thing that's bothering me is how Randall haven't fast-forwarded when merging "here have code" and "aaaaaaaa" into the main branch. It would've looked much less ugly! 162.158.183.127 21:33, 8 July 2019 (UTC)

Am I the only one who sometimes types "HAANDS" into the edit summary field when I'm just commenting? (EDIT: oops forgot signature) {)|(}Quill{)|(} 14:47, 19 April 2021 (UTC)

i just used "https://xkcd.com/1296/" as a commit message 172.70.54.97 22:43, 22 November 2022 (UTC)

this happens to me too, but with code reviews: since we do it through irc because it's me and my friend in another country, it's also text that derives into dumbness (i once put "vfhdvbuhvfehefuvb" in a review xd) --an user who has no account yet 172.64.236.12 (talk) 17:20, 2 September 2023 (please sign your comments with ~~~~)

Ahoy there "an user who..."! If you're passing this way again:
  • You can (and should) still sign your Talk contributions. Use the ~~~~ at the end to datetime (and add the IP, before you get an account, but the datetime is the important bit!)
  • It's easy enough to get an account. If you're just like me and aren't satisfied with any username choice, fair enough, but I think you actually have a decent (ironic, once you join with it) username in your "...who has no account yet". That might be fun!
  • Except that, it's "A user...", not "An user". Because "user" doesn't start with a vowel sound. Not sure if this is you being deliberately off-beat (like your no-caps style of message), but on the off chance that English is your second(/third/etc) language. (And, if it is, then can't fault you otherwise. But maybe the quirks are deliberate...)
...just in case you notice this. I hope you do, but it's hard to know where you'll land next if you're jumping around on Random pages. 172.70.162.206 20:27, 2 September 2023 (UTC)

done, also, it was both on purpose and english being my second language, i have a really good grammar actually... when i want to :)

what was it, again? the signature thing

oh wait it's right there

my bad An user who has no account yet (talk) 22:05, 2 September 2023 (UTC)

Well then, welcome to the party. (Or grindstone. Or partying grindstone.) I had an inkling you were being a bit deliberate about it all (the "an user" bit), but there's worse out there. And, apart from the affectations, yup, I agree. Many who are competent at English as a second Language are better than some of those who should be competent in it as their first.
Anyhoo, just to acknowledge this (and possibly inadvertently insult many other anglophones!)... I wish you all the best in fitting right in. And now back to my other tasks... 172.69.79.154 23:25, 2 September 2023 (UTC)

ok thx, also, whenever i put nonsense in a review it means (and my friend knows it) "let's do it tomorrow" An user who has no account yet (talk) 13:01, 5 September 2023 (UTC)