Difference between revisions of "Git"

From VideoLAN Wiki
Jump to navigation Jump to search
(List your commits)
m
Line 26: Line 26:
 
== List your commits ==
 
== List your commits ==
 
  $ git log
 
  $ git log
 +
  
 
== Keeping your local working branch in sync ==
 
== Keeping your local working branch in sync ==

Revision as of 20:52, 12 April 2007

Getting VLC source code via Git

git clone git://git.videolan.org/vlc.git

You can also browse the sources via gitweb.


Configure your local git repository

Tell git your name. (used by mostly by git-commit)

$ git repo-config user.name "Your Name"
$ git repo-config user.email "me@example.com"


List the local branch

You can now list your local branch by doing

$ git branch

which should ouput

$ git branch
* master


Commit

Now you can start to work on your tree. As soon as you feel you've reached a step in developement you can commit locally your work by

$ git commit -a

or

$ git commit <specific files>

List your commits

$ git log


Keeping your local working branch in sync

$ git fetch origin
$ git rebase origin

voilà! Your commit will be re-applied on top of the origin (the svn trunk).


Creating a secondary local branch

If you want to work on a specific project that could require a branch of the trunk, create a local branch of the current branch by doing:

$ git branch mywork

and to actually use it do:

$ git checkout mywork

Then do some commit on it... And you can go back to your original master branch by doing:

$ git checkout master


Submitting patches to the vlc-devel

If you have been developing on vlc locally and (still) don't have write access, you can submit all your commit in one shot using:

$ git format-patch -o out origin

which will produce the patches for each local commit in the directory "out". You can also use the git-imap-send command:

$ git format-patch --stdout --attach -n origin | git-imap-send

which will directly produces the emails and store them in a imap mail box, provided that you have properly set up git-imap-send.


Documentation about git