Difference between revisions of "Git"

From KeegansWiki
Jump to navigation Jump to search
Line 1: Line 1:
=New Clone=
+
=Setting up a new DHS repo based on a TOL repo=
* service puppet stop; service puppetmaster stop; rm -fr /etc/puppet; http_proxy=proxy.traderonline.com:80 git clone http://git.dhsint.com/puppetconf-tol.git /etc/puppet; cd /etc/puppet; git config --global http.proxy proxy.traderonline.com:80; service puppet start
 
* cd /etc/puppet; git submodule init; git submodule update
 
 
 
=Creating a new Branch=
 
 
* on dssysdev02
 
* on dssysdev02
** git clone --bare http://git.ops.traderonline.com/centos-netinstall-dws.git /path/to/centos-netinstall-dws.git
+
REPONAME=centos-netinstall-dws.git
** cd /path/to/centos-netinstall-dws.git
+
git clone --bare http://git.ops.traderonline.com/${REPONAME} /path/to/${REPONAME}
** git remote rm origin
+
cd /path/to/${REPONAME}
** cd /path/to/centos-netinstall-dws.git; git update-server-info; mv hooks/post-update.sample hooks/post-update
+
git remote rm origin
 +
git update-server-info
 +
mv hooks/post-update.sample hooks/post-update
 
* on laptop
 
* on laptop
** git clone ssh://root@git.dhsint.com/path/to/centos-netinstall-dws.git
+
REPONAME=centos-netinstall-dws.git
** git checkout -b set-default-options
+
git clone ssh://root@git.dhsint.com/path/to/${REPONAME}
=Pushing new branch after edits=
+
 
* git add <edited file>
+
=Making changes to files=
* git commit  
+
BRANCHNAME=set-default-options
* git push origin set-default-options: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=
* git add <edited file>
+
BRANCHNAME=set-default-options
* git commit --ammend
+
git add <edited file>
* git push origin +set-default-options:set-default-options
+
git commit --amend
 +
git push origin +${BRANCHNAME}:${BRANCHNAME}
 +
 
 
=Merge My Edits=
 
=Merge My Edits=
* git checkout master
+
BRANCHNAME=set-default-options
* git merge --no-ff <branch>
+
git checkout master
* git push origin master:master
+
git merge --no-ff ${BRANCHNAME}
 
+
git push origin master:master
Once that is complete, delete the branch
+
# Once that is complete, delete the branch
* git push origin :<branch>
+
git push origin :${BRANCHNAME}
* git branch -d <branch>
+
git branch -d ${BRANCHNAME}
  
 
=Merging Someone Else's Edits=
 
=Merging Someone Else's Edits=
* git rev-parse HEAD
+
REMOTENAME=tol
* git merge-base HEAD tol/<branch>
+
BRANCHNAME=set-default-options
* git merge --no-ff tol/<branch>
+
git checkout master
* git push origin master:master
+
git rev-parse HEAD
 +
git merge-base HEAD ${REMOTENAME}/${BRANCHNAME}
 +
git merge --no-ff ${REMOTENAME}/${BRANCHNAME}
 +
git push origin master:master

Revision as of 06:22, 18 August 2011

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
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

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}
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