git-for-lieutenants
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
git-for-lieutenants [2012/11/02 17:20] – smilauer | git-for-lieutenants [2013/05/03 11:07] – Added section on merging branches bp | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | This page contains an instructions and guidelines for lieutenants. Lieutenants are experianced developpers | + | This page contains an instructions and guidelines for lieutenants. Lieutenants are experienced developers |
:!: Remember: As Lieutenant you are responsible for the project, so you have to make sure, that the contributed work meets all requirements: | :!: Remember: As Lieutenant you are responsible for the project, so you have to make sure, that the contributed work meets all requirements: | ||
Line 14: | Line 14: | ||
====== Reference repository ====== | ====== Reference repository ====== | ||
On the reference repository, two main branches exist: | On the reference repository, two main branches exist: | ||
- | * '' | + | * '' |
- | * '' | + | * '' |
- | Individual | + | Individual |
The sequence looks basically like this: | The sequence looks basically like this: | ||
Line 23: | Line 23: | ||
# clone reference repo | # clone reference repo | ||
$ git clone http:// | $ git clone http:// | ||
+ | # Note: when a repository is cloned, git automatically creates a master branch that tracks origin/ | ||
$ cd oofem.git | $ cd oofem.git | ||
- | # track remote develop branch on reference repo; it will became active one | ||
- | $ git checkout -b develop origin/ | ||
# create a new brach for a new development | # create a new brach for a new development | ||
$ git checkout -b featureA | $ git checkout -b featureA | ||
Line 38: | Line 37: | ||
The user use git format-patch to generate the mbox-formatted files. | The user use git format-patch to generate the mbox-formatted files. | ||
====== Applying Patches from E-mail ====== | ====== Applying Patches from E-mail ====== | ||
- | If you receive a patch over e-mail that you need to integrate into your project, you need to apply the patch in your topic branch to evaluate it. Please see detailed | + | If you receive a patch over e-mail that you need to integrate into your project, you need to apply the patch in your topic branch to evaluate it. Please see detailed |
- | The Lieutenants of the Git project tends to namespace these branches as well — such as c_name/ | + | The Lieutenants of the Git project tends to namespace these branches as well — such as c_name/ |
#create a feature branch | #create a feature branch | ||
- | $ git branch c_name/ | + | $ git branch c_name/ |
# and to switch into this branch | # and to switch into this branch | ||
- | | + | |
| | ||
Or, if you want to also switch to it immediately, | Or, if you want to also switch to it immediately, | ||
- | $ git checkout -b c_name/ | + | $ git checkout -b c_name/ |
Now you’re ready to add contributed work into this topic branch and determine if you want to merge it into reference longer-term develop branch. | Now you’re ready to add contributed work into this topic branch and determine if you want to merge it into reference longer-term develop branch. | ||
Line 92: | Line 91: | ||
When all the patches for your topic are applied and committed into your branch, you can choose whether and how to integrate them into a develop reference branch. | When all the patches for your topic are applied and committed into your branch, you can choose whether and how to integrate them into a develop reference branch. | ||
- | For example, once you merged all patches | + | To merge changes made in c_name/ |
- | $ git push origin develop | + | $ git checkout master |
+ | $ git merge c_name/ | ||
+ | For example, once you merged all patches to a '' | ||
+ | $ git push origin master | ||
+ | |||
+ | Finally, the c_name/ | ||
+ | |||
+ | $ git branch -d c_name/ | ||
====== Merging workflow ====== | ====== Merging workflow ====== | ||
- | In oofem project, we have two long-running branches, master and develop. '' | + | In oofem project, we have two long-running branches, master and stable. '' |
git-for-lieutenants.txt · Last modified: 2017/11/01 09:23 by bp