1296: Git Commit
Title text: Merge branch 'asdfasjkfdlas/alkdjf' into sdkjfls-final
This comic refers to the 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.
A 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 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. 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
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 "home row" on a standard 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.
|(main)||created main loop & timing control||14 hours ago|
|(main)||enabled config file parsing||9 hours ago|
|(main)||misc bugfixes||5 hours ago|
|(main)||code additions/edits||4 hours ago|
|(main)||more code||4 hours ago|
|(branch)||here have code||4 hours ago|
|(branch)||aaaaaaaaa||3 hours ago|
|(main)||adkfjslkdfjsdklfj||3 hours ago|
|(main)||my hands are typing words||2 hours ago|
|(main)||haaaaaaaaands||2 hours ago|
As a project drags on, my Git commit messages get less and less informative.add a comment!