Editing 1296: Git Commit

Jump to: navigation, search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 8: Line 8:
  
 
==Explanation==
 
==Explanation==
This comic refers to the {{w|Git (software)|Git}} source code revision control software, which saves earlier versions of files and folders for later access into a special repository. This comes in handy when you want to try out whether an idea works (branching). Further, you can collaborate with others by use of remote repositories. Perhaps most importantly, it allows members of the development team to find key changes in the history, later. Git has been discussed in [[1597: Git]] as well.
 
  
A [[wikt:commit#Noun|''commit'']] is a saved version in a Git repository; a commit comes with a message that is supposed to describe what the commit contains, similar to the edit summaries used on {{w|MediaWiki}} sites such as ''[[explain xkcd]]'' and on [{{fullurl:{{FULLPAGENAME}}|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, which saves earlier versions of files and folders for later access into a special repository. This comes handy when you want to try out whether an idea works (branching). Further, you can collaborate with others by use of remote repositories.
  
The phrase "Merge branch 'asdfasjkfdlas/alkdjf' into sdkjfls-final" mimics the phrasing used by Git. A ''branch'' is a specific sequence of commits which can be made in parallel to other branches of development, and later merged. Here, we see that Randall has also gotten lazy with his branch names: "branch 'asdfasjkfdlas/alkdjf'" might be the series of two commits starting with "here have code". "sdkjfls-final" could be the branch indicated by the vertical string of circles on the left, into which the other more branch is merged in commit "adkfjslkdfjsdklfj".
+
A {{w|wikt:commit#Noun|''commit''}} is a saved version in a Git repository; a commit comes with a message that is supposed to describe what the commit contains (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. A ''branch'' is a specific sequence of commits which can be made in parallel to other branches of development, and later merged. Here, we see that Randall has also gotten lazy with his branch names: "branch 'asdfasjkfdlas/alkdjf'" might be the series of two commits starting with "here have code". "sdkjfls-final" could be the branch indicated by the vertical string of circles on the left, into which the other more branch is merged in commit "adkfjslkdfjsdklfj".
  
 
Most git tools show the commit history with the most recent commits first, so showing the oldest first like this would require something like the <code>--reverse</code> option.
 
Most git tools show the commit history with the most recent commits first, so showing the oldest first like this would require something like the <code>--reverse</code> option.
  
The comments go from being pretty detailed as to his thoughts and reasons for the code ("enabled config file parsing"), to relatively uninformative summaries ("misc bugfixes"), to completely uninformative words ("more code"), and then finally he doesn't even bother trying to come up with words, instead just hitting a key ("aaaaaaaa") or semi-random keys ("adkfjslkdfjsdklfj"), then goes back to typing words but words that have a bit of a craziness to them rather than having anything to do with describing the code ("my hands are typing words").  The "adkfjslkdfjsdklfj" line and similar garbage in the title text comes from having your hands on the "{{w|home row}}" on a standard {{w|QWERTY}} keyboard, then hitting "random" keys without moving your fingers from their standard home row positions.  The keys you hit "randomly" will be combinations of A, S, D, and F on the left hand, and J, K, L, and ; on the right hand (although the ; key seems to have been avoided, possibly because without the presence of surrounding quotes a ; character will end the comment). It is common to see stuff like that when a person is required to type something — i.e. a mandatory field — but they have no interest in typing anything meaningful or no idea what to write, so they just hit the easiest keys to hit and call it done.
+
The comments go from being pretty detailed as to his thoughts and reasons for the code ("Enabled config file parsing"), to relatively uninformative summaries ("Misc bugfixes"), to completely uninformative words ("More code"), and then finally he doesn't even bother trying to come up with words, instead just hitting a key ("aaaaaaaaaaaaaa") or semi-random keys ("adkfjslkdfjsdklfj"), then goes back to typing words but words that have a bit of a craziness to them rather than having anything to do with describing the code ("My hands are typing words").  The "adkfjslkdfjsdklfj" line and similar garbage in the title text comes from having your hands on the "{{w|home row}}" on a standard {{w|QWERTY}} keyboard, then hitting "random" keys without moving your fingers from their standard home row positions.  The keys you hit "randomly" will be combinations of A, S, D, and F on the left hand, and J, K, L, and ; on the right hand (although the ; key seems to have been avoided, possibly because without the presence of surrounding quotes a ; character will end the comment). It is common to see stuff like that when a person is required to type something — i.e. a mandatory field — but they have no interest in typing anything meaningful or no idea what to write, so they just hit the easiest keys to hit and call it done.
  
 
==Transcript==
 
==Transcript==
Line 24: Line 25:
 
!Date
 
!Date
 
|-
 
|-
|(main)||created main loop & timing control||14 hours ago
+
|(main)||Created main loop & timing control||14 hours ago
 
|-
 
|-
|(main)||enabled config file parsing||9 hours ago
+
|(main)||Enabled config file parsing||9 hours ago
 
|-
 
|-
|(main)||misc bugfixes||5 hours ago
+
|(main)||Misc bugfixes||5 hours ago
 
|-
 
|-
|(main)||code additions/edits||4 hours ago
+
|(main)||Code additions/edits||4 hours ago
 
|-
 
|-
|(main)||more code||4 hours ago
+
|(main)||More code||4 hours ago
 
|-
 
|-
|(branch)||here have code||4 hours ago
+
|(branch)||Here have code||4 hours ago
 
|-
 
|-
|(branch)||aaaaaaaa||3 hours ago
+
|(branch)||aaaaaaaaa||3 hours ago
 
|-
 
|-
 
|(main)||adkfjslkdfjsdklfj||3 hours ago
 
|(main)||adkfjslkdfjsdklfj||3 hours ago
 
|-
 
|-
|(main)||my hands are typing words||2 hours ago
+
|(main)||My hands are typing words||2 hours ago
 
|-
 
|-
|(main)||haaaaaaaaands||2 hours ago
+
|(main)||Haaaaaaaaands||2 hours ago
 
|}
 
|}
:[Caption below the panel:]
+
As a project drags on, my Git commit messages get less and less informative.
:As a project drags on, my Git commit messages get less and less informative.
 
  
 
{{comic discussion}}
 
{{comic discussion}}
 +
 
[[Category:Comics with color]]
 
[[Category:Comics with color]]
[[Category:Programming]]
 
[[Category:Version Control]]
 

Please note that all contributions to explain xkcd may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see explain xkcd:Copyrights for details). Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Cancel | Editing help (opens in new window)