Difference between revisions of "Git"

From KeegansWiki
Jump to navigation Jump to search
Line 52: Line 52:
 
  git merge --no-ff ${REMOTENAME}/${BRANCHNAME}
 
  git merge --no-ff ${REMOTENAME}/${BRANCHNAME}
 
  git push origin master:master
 
  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",
 +
    }
 +
  }

Revision as of 07:23, 23 August 2011

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