Difference between revisions of "GIT Repository"

From Vlsiwiki
Jump to: navigation, search
(Setup)
Line 32: Line 32:
 
  git mv foo foo2
 
  git mv foo foo2
 
  git add foo.cpp
 
  git add foo.cpp
 +
 +
===Including Separate Project===
 +
 +
ESESC includes code from the QEMU git repository.  This is merged into the ESESC repository using the [http://www.kernel.org/pub/software/scm/git/docs/howto/using-merge-subtree.html subtree merge strategy].
 +
 +
The initial steps to merge the qemu git repository were:
 +
 +
git remote add -f qemu-mainline git://git.savannah.nongnu.org/qemu.git
 +
git merge -s ours --no-commit qemu-mainline/master
 +
git read-tree --prefix=emul/qemu/ -u qemu-mainline/master
 +
git commit -m "adding qemu-mainline code"
 +
 +
After the initial getting updates from the qemu git is done with
 +
 +
git pull -s subtree qemu-mainline master
 +
 +
Since QEMU is already included in ESESC the initial configuration steps are not all needed for new repository clones.  The only step needed is add the remote ref:
 +
 +
git remote add -f qemu-mainline git://git.savannah.nongnu.org/qemu.git

Revision as of 20:00, 25 May 2009

Setup

You need to setup your name and email

git config --global user.name  "Your Username"
git config --global user.email foo@soe.ucsc.edu

Checkout/clone once ESESC

git clone ssh://mada0.cse.ucsc.edu/mada/server/git/esesc

Checkout/clone once MTHD

git clone ssh://mada0.cse.ucsc.edu/mada/server/git/mthd

Operation

Every day synchronize with other people modifications

git pull

Whenever you perform a task commit the changes

git commit -a

Remember that a commit does not make the changes visible. Do frequent pushes to the server

git push

To add/rename files uses the git command

git mv foo foo2
git add foo.cpp

Including Separate Project

ESESC includes code from the QEMU git repository. This is merged into the ESESC repository using the subtree merge strategy.

The initial steps to merge the qemu git repository were:

git remote add -f qemu-mainline git://git.savannah.nongnu.org/qemu.git
git merge -s ours --no-commit qemu-mainline/master
git read-tree --prefix=emul/qemu/ -u qemu-mainline/master
git commit -m "adding qemu-mainline code"

After the initial getting updates from the qemu git is done with

git pull -s subtree qemu-mainline master

Since QEMU is already included in ESESC the initial configuration steps are not all needed for new repository clones. The only step needed is add the remote ref:

git remote add -f qemu-mainline git://git.savannah.nongnu.org/qemu.git