Git, albeit complicated at first, is a powerful tool that can improve code development and documentation.
Ultimately the complexity of a VCS not only gives users a well-documented “undo” button for their analyses, but it also allows for collaboration and sharing of code on a massive scale.
Furthermore, it does not need to be learned in its entirety to be useful.
Instead, you can derive tangible benefits from adopting version control in stages.
With a few commands (git init
, git add
, git commit
), you can start tracking your code development and avoid a filesystem full of copied files (Fig. \ref{fig:Fig2}).
Adding a few additional commands (git push
, git clone
, git pull
) and a GitHub account, you can share your code online, transfer your changes across machines, and collaborate in small groups (Fig. \ref{fig:Fig3}).
Lastly, by forking public repositories and sending pull requests, you can directly improve scientific software (Fig. \ref{fig:Fig4}).