Git
An open-source distributed Version control system. It quickly becomes the most popular revision control system among developers. It is fast and has many advanced features. But, I think the popularity is largely thanks to GitHub, which is a web-based software development hosting system based on git. It is somewhat notorious for its unfriendliness1.
Related tools
Large files
Git LFS and annex are two primary tools. See also How do Git LFS and git-annex differ?
- https://git-lfs.github.com/ - git large file storage
- git annex
Tutorials and books
Cheatsheet and howtos
- Cheatsheet
- https://ohshitgit.com
- https://github.com/k88hudson/git-flight-rules/blob/master/README.md
Books
Tutorials
Text/interactive
- http://gitimmersion.com/
- https://uvads.github.io/git-basics/
- http://www.alistapart.com/articles/get-started-with-git/
- https://learngitbranching.js.org - an interactive tutorial on git branching.
- A Quick Introduction to Version Control with Git and GitHub in PLOS Comp. Biol.
Video
Videos and talks
Tips
- General
- Commit messages
- diff
- hosting - if you want to host your repositories.
- system wide gitignore
git config --global core.excludesfile ~/.gitignore
- http://www.splitbrain.org/blog/2011-06/19-automate_github_pull_requests
- how to remove large files from history?
- http://stackoverflow.com/questions/9854810/cleaning-up-git-history
- http://gitready.com/beginner/2009/03/06/ignoring-doesnt-remove-a-file.html
- http://stackoverflow.com/questions/5563564/remove-files-from-git-repo-completely
- http://stackoverflow.com/questions/9855226/how-can-i-completely-remove-data-from-a-git-repository
- http://stackoverflow.com/questions/2100907/how-do-i-purge-a-huge-file-from-commits-in-git-history
Articles
- http://betterexplained.com/articles/aha-moments-when-learning-git
- http://nvie.com/posts/a-successful-git-branching-model/
- http://jeffkreeftmeijer.com/2010/the-mighty-reflog-and-the-amazing-bisect/
- http://cocoawithlove.com/2010/12/version-control-for-solo-mac-developers.html
- http://www.metacircus.com/hacking/2011/02/18/play-git-like-a-violin.html - some useful alises.
- Aha! Moments When Learning Git
Quotes
People who say “teaching is the best way to learn” have never experienced the seat-of-your-pants terror of trying to merge unrelated histories during an intro to Git workshop. - https://mobile.twitter.com/Hao_and_Y/status/1095494322059923456