forked from uaf-arctic-eco-modeling/dvm-dos-tem
-
Notifications
You must be signed in to change notification settings - Fork 0
Version Control and Git
tobey edited this page Apr 9, 2015
·
4 revisions
We are using the software Git for version control and source code management. The source code is in turn hosted on Github.
Key Terms/Concepts:
-
git
is the version control software -
github
is a website that usesgit
and provides hosting as well as other features like this wiki, and a bug tracker (Issues) - "Pull Requests" are a github specific term.
-
git
is really a general tool for managing a certain type of "tree" data structure. As such, there are many ways it can be used correctly and it is up to us to find a pattern that works for our group. - Github the website/business is built around a certain pattern of
git
usage (which we will use for the most part) - Forks, and Clones:
-
ua-snap
has the main "fork" of our project - each of us additionally has a fork (hosted on github)
- for actual work, you will "clone" from a given fork (usually your own)
- Our convention is that your own personal fork is called
origin
and the ua-snap fork is calledupstream
We are using two long-running branches for this project: master
and devel
.
In addition we are using the "Integration Manager Workflow" and Github's Pull
Requests to manage project collaboration.
Here is a graphic depicting a few key concepts.
- Note that we are using one more "long running" branch named
devel
- In general commits on
master
(ordevel
) will represent "stable" code while commit on other branches might be "unstable"