Getting Started With Git: Difference between revisions

From genomewiki
Jump to navigationJump to search
mNo edit summary
mNo edit summary
Line 31: Line 31:
   git clone yourlogin@hgwdev.cse.ucsc.edu:/scratch/kentrepo.git/ kent
   git clone yourlogin@hgwdev.cse.ucsc.edu:/scratch/kentrepo.git/ kent
   cd kent
   cd kent
/scratch/kentrepo.git is our shared kent repository.
We access it via SSH.


== Sharing Changes With Others ==
== Sharing Changes With Others ==

Revision as of 02:20, 30 April 2010

Getting Started With Git

Git is a modern (SCM) source code management system written by Linus Torvalds. Like all his software, he names it after himself.

(This page is intended for UCSC Genome Browser developers.)
We are currently in the process of migrating from CVS to Git.


Setting Up Your Own Personal Git Kent Repository

To create your personal git repository of the kent source, please use the following simple directions:

 cd $HOME
 
 git config --global user.name "Your Name Here"
 git config --global user.email yourlogin@soe.ucsc.edu

If you like colors:

 git config --global color.diff auto
 git config --global color.status auto
 git config --global color.branch auto


If you have an existing old test local git repo ~/kentgit, please remove it before proceeding.

 mv kent kent-cvs    # move your old kent directory out of the way
 git clone yourlogin@hgwdev.cse.ucsc.edu:/scratch/kentrepo.git/ kent
 cd kent

/scratch/kentrepo.git is our shared kent repository. We access it via SSH.

Sharing Changes With Others

Git is a distributed SCM so it works a bit differently from CVS. Each user has their own local project repository which includes the full history of all changes ever made. This allows one to work offline and had other advantages besides. However, for simplicity there is a shared repository that people push changes to from their local repository. More complex configurations are possible, such as hierarchical. Probably the shared repository approach is fine for our group.

 git pull origin    # equivalent to cvs up -dP, this pulls in changes by others.
 git push master origin   # equivalent to cvs commit, only do this when your changes are ready to share with others.