Working with ``git`` and github
===============================
``git`` is a version control system used widely by software developers
to manage their codebase, as it has excellent support for collaboration,
allowing different individuals to work on the same codebase, and combine
their efforts.
`Github `__ is an online service that uses the
``git`` version control system to store files and faciliatate
collaboration on software projects. The `code for
PySD `__ is hosted with github, as is
that for much of the open source software community.
For system dynamicists, Github is a useful tool for tracking changes to
a model or analysis code, documenting the development process, and
facilitating model collaboration. For academics, it can serve as a
`permanent, citable
repository `__ for
scripts used to prepare an academic paper, thus facilitating replication
and extension of the research.
While the workflow may seem intimidating, once mastered it can prevent a
lot of headaches.
Resources
~~~~~~~~~
Rather than include a tutorial of the github workflow in this cookbook,
I’ll point to several resources for getting started with git and github:
- Interactive tutorial for `using git and github at the command
line `__
- `Getting Started with
Github `__ video
- `Github Desktop GUI Tool `__