Git
2020-05-30 → 2025-09-05
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.
- http://git-scm.com/
- GitHub
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
- on git by Linus Torvalds
- http://zachholman.com/talk/more-git-and-github-secrets/
Tips
- General
- Commit messages
- diff
- hosting - if you want to host your repositories.
- Gitosis: simple. The development seems to be stopped.
- Gitorious: notorious installation process.
- 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