Difference between revisions of "Git"

From KeegansWiki
Jump to navigation Jump to search
 
(One intermediate revision 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=
 
=View previously merged branches=
 
First, run this:
 
First, run this:
Line 66: Line 77:
 
     }
 
     }
 
   }
 
   }
 +
 +
* 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",
 }
}