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 10, 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
where we will be doing the bulk of our work.devel
can be considered to be pretty stable, and when we reach a point of true stability, we will merge intomaster
- In general commits on
master
(ordevel
) will represent "stable" code while commit on other branches might be "unstable" - The commits on the lower half of the graphic represent "experiment" branches.