[EDIT added tig]
[EDIT added github email below]
Git is a tool I’ve used, but never really invested in heavily or committed to learning deeply. I decided to put together a link roundup to help with learning at least in part because a coworker mentioned starting a project using subversion today, and this was the second coworker in under a month to have said something that made it clear that git has not begun to dislodge subversion as the default. Two was enough encouragement. Here go the links….
- From the horses’ mouths: Git, the fast version control system (project homepage). Note also the Community Book they offer.
- Git magic (a page that helped inspire this post).
- The Git wikipedia page, which itself has a bunch of links.
- A (somewhat long) Google Tech Talk on Git by Linus Torvalds, who started the project. This talk is dated (2007), but is still useful and was one of the things I looked to when I first started using Git.
- The Apress Pro Git book by Scott Chacon, which is available as a free download in various forms on the right.
- The GitHub help site, and especially the section on creating a repo. Note that github has had security issues recently, so be aware of and possibly follow that.
- Bitbucket 101. I like bitbucket, so there’s that.
- The awesome-looking Understanding Git Conceptually, which looks like it matches my goals. This one is roughly the opposite of the git magic link.
- Text-mode Interface for Git, an ncurses-based repository browser that was recommended to me.
Thanks to the various folks on twitter and IRC who helped me put this together.
Following up on the github security issues, I just got the following email from them:
A security vulnerability was recently discovered that made it possible for an attacker to add new SSH keys to arbitrary GitHub user accounts. This would have provided an attacker with clone/pull access to repositories with read permissions, and clone/pull/push access to repositories with write permissions. As of 5:53 PM UTC on Sunday, March 4th the vulnerability no longer exists.
While no known malicious activity has been reported, we are taking additional precautions by forcing an audit of all existing SSH keys.
# Required Action
Since you have one or more SSH keys associated with your GitHub account you must visit https://github.com/settings/ssh/audit to approve each valid SSH key.
Until you have approved your SSH keys, you will be unable to clone/pull/push your repositories over SSH.
We take security seriously and recognize this never should have happened. In addition to a full code audit, we have taken the following measures to enhance the security of your account:
- We are forcing an audit of all existing SSH keys
- Adding a new SSH key will now prompt for your password
- We will now email you any time a new SSH key is added to your account
- You now have access to a log of account changes in your Account Settings page
Sincerely, The GitHub Team