Git

2020-05-30 → 2026-08-17

An open-source distributed Version control system. It quickly became 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.

Learn#

Tutorials#

Books#

Video#

Recipes#

Everyday#

Large files#

Git LFS and annex are the two primary tools; see How do Git LFS and git-annex differ? for the tradeoff.

Rewriting history#

Removing something from the working tree does not remove it from the history, which is why a committed dataset or key keeps haunting the repository.

Workflows#

The workflow that fits depends on the size of the team and how much git everyone knows; my own recommendation for a small research team is in GitHub workflow, and the simultaneous-editing case for manuscripts is in Local LaTeX workflow.

Funny#

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://x.com/Hao_and_Y/status/1095494322059923456

Receive my updates

YY's Random Walks — Science, academia, and occasional rabbit holes.

YY's Bike Shed — Sustainable mobility, urbanism, and the details that matter.

×