Difference between revisions of "Git"
Jump to navigation
Jump to search
(8 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | = | + | =Simple Git Stuff= |
− | + | ==Make edits== | |
− | + | git clone git@git01.phpfog.com:removed.phpfogapp.com | |
+ | git checkout -b firstedit | ||
+ | vi index.php | ||
+ | git commit -a -m "First edit" | ||
+ | git checkout master | ||
+ | git merge firstedit | ||
+ | git push | ||
− | = | + | |
+ | =View previously merged branches= | ||
+ | First, run this: | ||
+ | * git log --oneline --first-parent | ||
+ | Locate the identifier of the desired branch, and the previous one, for example: | ||
+ | 961e4f9 Merge remote-tracking branch 'tol/mysql' | ||
+ | 3cb72fb Merge remote-tracking branch 'tol/nfs-requires-rstatd' | ||
+ | So for the mysql branch, run this: | ||
+ | *git log --patch --reverse 3cb72fb..961e4f9 | ||
+ | |||
+ | =Setting up a new DHS repo based on a TOL repo= | ||
* on dssysdev02 | * on dssysdev02 | ||
− | + | REPONAME=centos-netinstall-dws.git | |
− | + | git clone --bare http://git.ops.traderonline.com/${REPONAME} /path/to/${REPONAME} | |
− | + | cd /path/to/${REPONAME} | |
− | + | git remote rm origin #dont do this if editing from git | |
+ | git update-server-info | ||
+ | mv hooks/post-update.sample hooks/post-update | ||
* on laptop | * on laptop | ||
− | + | REPONAME=centos-netinstall-dws.git | |
− | + | git clone ssh://root@git.dhsint.com/path/to/${REPONAME} | |
− | + | ||
− | + | =Making changes to files= | |
− | + | git checkout master | |
− | + | BRANCHNAME=set-default-options | |
+ | git checkout -b ${BRANCHNAME} | ||
+ | # Make changes | ||
+ | git add <edited file(s)> | ||
+ | git commit | ||
+ | git push origin ${BRANCHNAME}:${BRANCHNAME} | ||
+ | |||
=Overwriting updates to a branch= | =Overwriting updates to a branch= | ||
− | + | BRANCHNAME=set-default-options | |
− | + | git add <edited file> | |
− | + | git commit --amend | |
+ | git push origin +${BRANCHNAME}:${BRANCHNAME} | ||
+ | |||
=Merge My Edits= | =Merge My Edits= | ||
− | + | BRANCHNAME=set-default-options | |
− | + | git checkout master | |
− | + | git merge --no-ff ${BRANCHNAME} | |
+ | git push origin master:master | ||
+ | # Once that is complete, delete the branch | ||
+ | git push origin :${BRANCHNAME} #only do if someone else needs to review | ||
+ | git branch -d ${BRANCHNAME} | ||
+ | |||
+ | =Merging Someone Else's Edits= | ||
+ | REMOTENAME=tol | ||
+ | BRANCHNAME=set-default-options | ||
+ | git checkout master | ||
+ | git rev-parse HEAD | ||
+ | git merge-base HEAD ${REMOTENAME}/${BRANCHNAME} | ||
+ | git merge --no-ff ${REMOTENAME}/${BRANCHNAME} | ||
+ | git push origin master:master | ||
− | + | =TOL Specifics= | |
− | * | + | ==Adding a new role== |
− | + | * puppetconf-tol/modules/tol/manifests/init.pp | |
+ | if $role == "image-server" { | ||
+ | class { "nginx": | ||
+ | } | ||
+ | |||
+ | iptables { "100 allow nginx": | ||
+ | proto => "tcp", | ||
+ | dport => "80", | ||
+ | jump => "ACCEPT", | ||
+ | } | ||
+ | } | ||
− | + | * puppetconf-tol/manifests/nodes.pp | |
− | * | + | node /img/ { |
− | + | class { "tol": | |
− | + | role => "image-server", | |
− | + | } | |
+ | } |
Latest revision as of 08:10, 31 January 2012
Simple Git Stuff
Make edits
git clone git@git01.phpfog.com:removed.phpfogapp.com git checkout -b firstedit vi index.php git commit -a -m "First edit" git checkout master git merge firstedit git push
View previously merged branches
First, run this:
- git log --oneline --first-parent
Locate the identifier of the desired branch, and the previous one, for example:
961e4f9 Merge remote-tracking branch 'tol/mysql' 3cb72fb Merge remote-tracking branch 'tol/nfs-requires-rstatd'
So for the mysql branch, run this:
- git log --patch --reverse 3cb72fb..961e4f9
Setting up a new DHS repo based on a TOL repo
- on dssysdev02
REPONAME=centos-netinstall-dws.git git clone --bare http://git.ops.traderonline.com/${REPONAME} /path/to/${REPONAME} cd /path/to/${REPONAME} git remote rm origin #dont do this if editing from git git update-server-info mv hooks/post-update.sample hooks/post-update
- on laptop
REPONAME=centos-netinstall-dws.git git clone ssh://root@git.dhsint.com/path/to/${REPONAME}
Making changes to files
git checkout master BRANCHNAME=set-default-options git checkout -b ${BRANCHNAME} # Make changes git add <edited file(s)> git commit git push origin ${BRANCHNAME}:${BRANCHNAME}
Overwriting updates to a branch
BRANCHNAME=set-default-options git add <edited file> git commit --amend git push origin +${BRANCHNAME}:${BRANCHNAME}
Merge My Edits
BRANCHNAME=set-default-options git checkout master git merge --no-ff ${BRANCHNAME} git push origin master:master # Once that is complete, delete the branch git push origin :${BRANCHNAME} #only do if someone else needs to review git branch -d ${BRANCHNAME}
Merging Someone Else's Edits
REMOTENAME=tol BRANCHNAME=set-default-options git checkout master git rev-parse HEAD git merge-base HEAD ${REMOTENAME}/${BRANCHNAME} git merge --no-ff ${REMOTENAME}/${BRANCHNAME} git push origin master:master
TOL Specifics
Adding a new role
- puppetconf-tol/modules/tol/manifests/init.pp
if $role == "image-server" { class { "nginx": } iptables { "100 allow nginx": proto => "tcp", dport => "80", jump => "ACCEPT", } }
- puppetconf-tol/manifests/nodes.pp
node /img/ { class { "tol": role => "image-server", } }