Difference between revisions of "Git"

From Wiki2
Line 10: Line 10:
  $ git checkout -b loco
  $ git checkout -b loco
  Switched to a new branch 'loco'
  Switched to a new branch 'loco'
To make your current directory a Git repository we simply run init.
git init


====normal test process====
====normal test process====

Revision as of 00:11, 19 January 2012

git

the work flow

The idea is to have production code on server and then a copy of that code locally. That copy has a branch that you can try fixes in. When the fixes are working well locally you can try them on the server from the same branch. When they are ready to go live you can merge the branch with the master locally, push it to github and fetch from github to the server where you merge the github master into the server master.

the setup

Started by cloning code on your local machine(which creates a remote named 'origin')

$ git clone git@github.com:mckennatim/OBsoup.git

Then create a branch for putting new features:

$ git checkout -b loco
Switched to a new branch 'loco'

To make your current directory a Git repository we simply run init.

git init

normal test process

locally

do some editing locally on a (loco)branch and test locally then add. and commit locally

(loco)$git add .
(loco)$git commit -m "my local edits"

push that branch to github

(loco)$git push origin loco
server

try the local changes by fetching the github origin then fast-forward the server branch by

(loco)$git fetch origin 
(loco)$git merge origin/loco


Now the server is running from the loco branch. If you want it running from the older master code

(loco)$git checkout master
(master)$

once new code is tested on server from (loco)

Decided the protocal is to start merging branch into master locally then pushing it to GitHub then fetching from Github to server and merging there.

locally

OK so the branch can merge into master locally

(local)$ git checkout master
(master)$ git merge loco

Then push it to github

(master)$ git push
server

Get the merged master from github and mege it with the servers master

(master)$git fetch origin 
(master)$git merge origin/master