Difference between revisions of "Git"

From eLinux.org
Jump to: navigation, search
(Added some ressources about git)
 
(Merged from Source Control Management)
Line 1: Line 1:
 
Git is a distributed [[Version Control System]] used heavily by the [[Linux Kernel]] Developer Community and many other open source projects,
 
Git is a distributed [[Version Control System]] used heavily by the [[Linux Kernel]] Developer Community and many other open source projects,
 +
 +
Git is distributed: every developer has a copy of the whole project and its history, this doubles as backup as well as makes operations super fast since you don't need to go through network.
 +
 +
Git is about series of patches that work in a tree form, each tree leaf is a branch. Branches are easy and fast, you can create and delete as much as you wish and you can optionally push them upstream, so it's advised that development happens in your own tree and that you rebase your work on top of upstream 'master', that way you get a consistent sequence of patches to implement features. With Git you can go back in history and edit commits, delete them, reorder or even merge lots of commits into a single commit for publishing, usually required for projects that employ code review.
  
  
 
See [[Flameman/git]] for a Tutorial.
 
See [[Flameman/git]] for a Tutorial.
 +
 +
 +
= Additional Resources =
 +
* GIT project home page: http://git-scm.org/
 +
* GIT for SVN users: http://git.or.cz/course/svn.html
 +
* [http://free-electrons.com/pub/video/2008/ols/ols2008-james-bottomley-git.ogg Pratical Guide to Using Git], a tutorial given by the excellent kernel developer James Bottomley at the Ottawa Linux Symposium 2008
 +
* [http://www.youtube.com/watch?v=4XpnKHJAok8 Google Tech Talk: Linus' Torvalds on Git]
 +
* [http://www.wlug.org.nz/KernelDevelopmentWithGit Kernel Development with Git]
 +
* [http://linux.yyz.us/git-howto.html Kernel Hackers' Guide to Git]
 +
* [http://kerneltrap.org/node/11753 Linux: Debugging with 'git bisect']
 +
* [http://www-cs-students.stanford.edu/~blynn/gitmagic/index.html Git Magic] (very comprehensive Guide)
 +
* [http://wireless.kernel.org/en/developers/Documentation/git-guide  Git Guide for Linux Wireless Users and Developers]
 +
  
 
= Git Hosting =
 
= Git Hosting =
Line 12: Line 29:
 
* [http://unfuddle.com/ http://unfuddle.com/]
 
* [http://unfuddle.com/ http://unfuddle.com/]
 
* [http://www.codebasehq.com/ http://www.codebasehq.com/]
 
* [http://www.codebasehq.com/ http://www.codebasehq.com/]
 
= Additional Resources =
 
* [http://www.wlug.org.nz/KernelDevelopmentWithGit Kernel Development with Git]
 
* [http://linux.yyz.us/git-howto.html Kernel Hackers' Guide to Git]
 
* [http://kerneltrap.org/node/11753 Linux: Debugging with 'git bisect']
 
* [http://www-cs-students.stanford.edu/~blynn/gitmagic/index.html Git Magic] (very comprehensive Guide)
 
* [http://wireless.kernel.org/en/developers/Documentation/git-guide  Git Guide for Linux Wireless Users and Developers]
 

Revision as of 20:19, 17 May 2010

Git is a distributed Version Control System used heavily by the Linux Kernel Developer Community and many other open source projects,

Git is distributed: every developer has a copy of the whole project and its history, this doubles as backup as well as makes operations super fast since you don't need to go through network.

Git is about series of patches that work in a tree form, each tree leaf is a branch. Branches are easy and fast, you can create and delete as much as you wish and you can optionally push them upstream, so it's advised that development happens in your own tree and that you rebase your work on top of upstream 'master', that way you get a consistent sequence of patches to implement features. With Git you can go back in history and edit commits, delete them, reorder or even merge lots of commits into a single commit for publishing, usually required for projects that employ code review.


See Flameman/git for a Tutorial.


Additional Resources


Git Hosting

These sites provide (free) git hosting services: