Difference between revisions of "Git"

From Christoph's Personal Wiki
Jump to: navigation, search
(Examples)
(See also)
Line 36: Line 36:
 
==See also==
 
==See also==
 
*[[svn]]
 
*[[svn]]
*[http://www.mcnabbs.org/andrew/smug/ Smug] — a wiki built with git as the backend (also using [[Python]] and [http://djangoproject.com/ Djanjo])
 
*[http://www.newartisans.com/blog_files/git.versioned.data.store.php#unique-entry-id-69 gitshelve] — using git as a versioned data store in [[Python]]
 
*[http://eigenclass.org/hiki/gibak-0.3.0 gibak] — a backup tool based on git.
 
  
 
==External links==
 
==External links==

Revision as of 23:12, 13 September 2019

Git is a distributed revision control / software configuration management project created by Linus Torvalds, initially for the Linux kernel development.

Git is by far my favourite revision control system. I not only use it for software management, I also use it as my backup system for any of my text files.

Examples

Basic

  • Quick help:
$ git help      # returns most common commands
$ git help -a   # get a list of all installed git commands
$ man git-add   # man page on the 'add' command
  • Start a new git repository:
$ mkdir my_new_project && cd my_new_project
$ git init
# create some new files, then:
$ git add .
$ git commit
#~OR~
$ git commit -am 'initial commit message'
  • See what has changed since last commit:
$ git diff
  • A more concise way to view what has changed and what needs to be done:
$ git status
  • Clone a specific remote branch:
$ git clone --single-branch --branch <branchname> <remote-repo>

git-svn

  • The following three commands will import a remote svn repository into a local git repository:
$ mkdir pymmlib && cd pymmlib
$ git svn init -t tags -b branches -T trunk https://pymmlib.svn.sourceforge.net/svnroot/pymmlib
$ git svn fetch

See also

External links