git mini manual

Vytvořte (upravte) si ~/.gitconfig

    [user]
        name = gitmasterK55
        email = sim@jeansolpartre.com
    [alias]
      co = checkout
      ci = commit
      st = status
      br = branch
      hist = log --pretty=format:'%h %ad | %s%d [%an]' --graph --date=short
      type = cat-file -t
      dump = cat-file -p
      unstage = reset HEAD --
      last = log -1 HEAD
    [merge]
        tool = meld
    [core]
        editor = mcedit

co, ci - abych nemusel psát git checkout, git commit

práce se soubory v rámci větve

návrat k určité verzi souboru

vrátím soubor.sh na verzi odpovídající hash

git checkout (hash) soubor.sh
zrušení necommitovaných změn
git checkout -- <soubor>
smazání souborů, nezahrnutých v gitu (untracked)
git clean -df .
nechci commitovat (zruší git add)
git reset HEAD <file>
zkratka (.gitconfig) unstage

zrušení merge (vracim se na stav pred commitem)
git reset --merge ORIG_HEAD

zrušení merge nebo jinych uprav o 5 verzi dozadu
git reset --hard HEAD~5

mazani souboru z gitu, ale nechám na disku soubor (třeba když chci přidat do .gitignore)
git rm --cached readme.txt - nechat soubor na disku

vzdálené repozitáře


přidat

git remote add nickname user@server/opt/repo.git

jen stáhnout:
git fetch
stáhnout a začlenit:
git pull

stáhnu a moje zmeny jsou na konci..
git pull --rebase origin master


git remote - dotaz na vzdálené repozitáře

git remote show - vypíše všechny
git remote show master - více info o masterovi
git remote rename starej novej
git remote rm mrtvej

tags

pridavam prostou znacku jen kontrol soucet zmeny

git tag ver10.1

git tag -s v1.5 -m 'my signed 1.5 tag' - podepsana GPG
git tag -a v1.5 -m 'annotovana 1.5 tag' - annotovana bez podpisu

git tag -a v1.2 -m 'version 1.2' 9fceb02 - pridam znacku ke kontrolnimu souctu

znacky se posilaj na server zvlastnim prikazem:
git push origin [název značky] - jedna konkretni
git push origin --tags - posilam vsechny

větve

vytvořím větev a přepnu se do ní

git checkout -b chyba53
(coz je git branch chyba53 + git checkout chyba53)

zpracuju obsah pracovní větve a pak jí zlikviduju:
  1. git checkout master
  2. git merge chyba53 - začlení do hlavní větve
  3. git branch -d chyba53 - smažu větev

vynutím smazání i když je nezačleněno
git branch -D chyba53

které větve jsou začleněné a které ne

git branch --merged
git branch --no-merged

natáhnu změny z master do aktuální větve
git merge master

na serveru - založení vzdáleného bare git repo

ssh user@git.example.com
cd /opt/git/my_project.git
git init --bare --shared

shared - je automaticky sdílený pro skupinu



odkazy na tuto stránku: wiki:git