Difference between revisions of "Git"
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
		
	
| (10 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",
 }
}