O’Reilly made a bunch of their books freely available online recently. Richard E. Silverman’s brand new book “Git Pocket Guide” is one of them. It provides an introduction to Git for new users, and a reference of common commands and practices.
The Unix Man describes how pull requests - as implemented by GitHub, for example - map to lower-level Git operations. This is helpful when trying to understand what pull requests are and what they’re used for.
The recent 1.8.0 release of Apache Subversion shipped with some major new features and improvements. C. Michael Pilato summarizes the main points here.
Subversion 1.8 also comes with some changes in how merging happens, particularly related to merging multiple times between long-lived branches and automatically choosing the correct merge strategy without bothering the user with it. This is a comprehensive description of the feature from the Subversion Wiki.
Another improvement in Subversion 1.8 is improved move tracking. It is now a first-class, atomic operation, instead of just a combination of an add and a delete. Randy DeFauw from WANDisco explains.
As awesome as Git is - it is by far the most popular version control system in Deveo, for example - it does have its problems. Peter Lundgren writes about some shortcomings he sees in Git: UI, access control, obliterating data from a repository, locking, very large repositories, etc.
See also: Git Koans - a humorous take on some of the more counterintuitive aspects of the Git UI and data model.
The latest episode of the GitMinutes podcast has an interview of Ryan Hodson, the author of Ry’s Git Tutorial.
Here’s a tip on finding out when and by whom a file was deleted from a Git repository.
Agreeing on a commit etiquette is something that every software team should do. It’s so much easier to keep up with what’s going on when everyone follows the same conventions with version control commit contents and messages. Here’s some good advice on commit granularity and messages, from the guys at Solita.
Jaco Pretorius posted a reply to the previous article, with a slightly differing opinion on what commit messages should include.
If you just cannot be bothered with writing good commit messages, here is a commit-messages-as-a-service (CMaaS) solution.
For those of us who tend to fill out our timesheets in a panic at the end of each month, Jens Nilsson provides a handy shell command. It tells us what we did on a given day by looking at Git logs.