Obsah

GIT

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

GIT home page: http://git-scm.com/
GIT gui client: https://code.google.com/p/tortoisegit/
GIT hosting: https://github.com/

Pro Git book: http://git-scm.com/book/ (cs)
Git reference: http://gitref.org/

Další zdroje

Gitignore templates: https://github.com/github/gitignore

Git workflow

Pro Git book cs mobi

Calibre install

http://calibre-ebook.com/ - e-book converter

shell# yum install python.x86_64 xdg-utils.noarch python-imaging.x86_64 python-mechanize.noarch python-lxml.x86_64 python-dateutil.noarch python-cssutils.noarch python-beautifulsoup.noarch python-chm.x86_64 libXdmcp.x86_64
shell# wget -nv -O- https://github.com/kovidgoyal/calibre/raw/master/setup/linux-installer.py | sudo python -c "import sys; main=lambda:sys.stderr.write('Download failed\n'); exec(sys.stdin.read()); main()"

Rubygem install

shell# yum install ruby.x86_64 rubygems.noarch rubygem-rdiscount.x86_64

Clone Git repository Pro Git book

shell> git clone git://github.com/progit/progit.git
shell> cd progit

E-book convert mobi

shell> ./makeebooks cs
shell> ls progit.cs.mobi

E-book convert epub

shell> FORMAT=epub
shell> export FORMAT
shell> ./makeebooks cs
shell> ls progit.cs.epub

Git repository hosting

NetBeans + Git + Bitbucket

Integrace NetBeans IDE s Git VCS a služby Bitbucket (o NetBeans IDE).

NetBeans

Create local Git repository on existing project in NetBeans

Bitbucket

Push command line example

$ cd /path/to/my/repo
$ git remote add origin https://youraccount@bitbucket.org/youraccount/NetbeansProjectExample.git
$ git push -u origin --all # pushes up the repo and its refs for the first time
$ git push -u origin --tags # pushes up any tags

Git author/committer

C:\NetBeansProjectsPath\NetBeansProjectExample\.git\config
[user]
        name = Jiří Blažek
        email = jiri.blazek@isn.cz

Instalace GIT

Linux

Stáhnout poslední verzi z http://git-scm.com/download

shell# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
shell# tar xvzf git-1.8.4.3.tar.gz
shell# cd git-1.8.4.3.tar.gz
shell# make prefix=/usr/local all
shell# make prefix=/usr/local install

Windows

Git BASH

Nastavení totožnosti uživatele (globálně)

$ git config --global user.name "Jiri Blazek"
$ git config --global user.email jiri.blazek@isn.cz

Nastavení totožnosti uživatele (lokálně)

$ git config user.name "Jiri Blazek"
$ git config user.email jiri.blazek@isn.cz

Nastavení editoru

$ git config --global core.editor vim

Nastavení nástroje pro slučování

$ git config --global merge.tool vimdiff

Kontrola nastavení

Pro uživatele v souboru ~/.gitconfig.

$ git config --list

Inicializace repozitáře v existujícím adresáři

$ git init
$ git add *.c
$ git add README
$ git commit -m 'first commit of init existing project'

Klonování repozitáře

$ git clone git://youraccount@bitbucket.org/youraccount/NetbeansProjectExample.git

Kontrola stavu souborů

$ git status

Zobrazení vzdálených serverů

$ git remote
$ git remote -v

Vyzvednutí a stažení vzdáleného repozitáře

$ git fetch [název vzdáleného repozitáře]
$ git fetch origin

Vyzvednutí a začlenění vzdálené větve do aktuální větve

$ git pull [název vzdáleného repozitáře]
$ git pull origin

Posílání do vzdálených repozitářů

$ git push [název vzdáleného repozitáře] [název větve]
$ git push origin master

Prohlížení vzdálených repozitářů

$ git remote show [název vzdáleného repozitáře]
$ git remote show origin

Úprava/zahrnutí do posledního commitu

Změna poslední revize.

$ git commit --amend

Vytvoření nové větve

Vytvoření nové větve devel.

$ git branch devel

Přehled větví

Větev s hvězdičkou je aktivní větev.

$ git branch

Přepnutí na existující větev

Přepnutí na větev devel.

$ git checkout devel

Slučování větví

Sloučení větve devel do větve master.

$ git checkout master
$ git merge devel

Mazání větví

Smazání větve devel.

$ git branch -d devel

Úprava nastavení

$ git config --edit --system

Grafické prohlížení

$ gitk --all