Git

Praktycznie i na przykładach

Zarządzanie repozytorium

Inicjalizacja pierwszego repozytorium

#!/bin/bash
git init [--bare] [[ KATALOG ]]

Stan repozytorium

#!/bin/bash

git status

# przykładowy output

On branch master

Initial commit

nothing to commit (create/copy files and use "git add" to track)

Zarządzanie plikami

Dodawanie plików

#!/bin/bash
git add [[ ŚCIEŻKA ]]

Przenoszenie plików

#!/bin/bash
git mv [ STARA ŚCIEŻKA ] [ NOWA ŚCIEŻKA ]

Usuwanie plików

#!/bin/bash
git rm [--cached ] [ ŚCIEŻKA ]

Commity o.O?

No to commitujemy

#!/bin/bash
git commit [ -a ] [ -m 'Opis commita' ] [ --amend ] [[ ŚCIEŻKA ]]

Sprawdzenie historii commitów

#!/bin/bash
git log [ -p ]

Zarządzanie plikami

...podejście drugie

"Resetowanie" względem commitu

#!/bin/bash
git reset [ --hard --soft ] COMMIT
git reset HEAD [ ścieżka ]

Podglądanie różnic

#!/bin/bash
git diff [ --cached COMMIT ] [[ ŚCIEŻKA ]]
git diff [ COMMIT ] [ COMMIT ]

Gałązki

Tworzenie nowej gałęzi

#!/bin/bash
git branch [ NAZWA ]

Lista gałęzi

#!/bin/bash
git branch [ -v  --merged --no-merged]

Poruszanie się pomiędzy gałęziami

#!/bin/bash
git checkout [ -b ] [ NAZWA ]

Merge

#!/bin/bash
git checkout [ NAZWA GAŁĘZI GŁÓWNEJ ]
git merge [ NAZWA GAŁĘZI MERGEOWANEJ ]

Usuwanie gałęzi

#!/bin/bash
git branch [ -d / -D]  [ NAZWA ]

Rebase

#!/bin/bash
git rebase [ NAZWA ]

Git na serwerze

Klonowanie

#!/bin/bash
git clone [ LINK ] [ FOLDER ]

Remotes

#!/bin/bash
git remote add [ -t GAŁĄŹ ][ NAZWA ] [ LINK ]
git remote rename [ STARA NAZWA ] [ NOWA NAZWA ]
git remove remove [ NAZWA ]

Push & Pull

#!/bin/bash
git push [ -u ] [ NAZWA REMOTEA ] [ NAZWA GAŁĘZI ]
git pull [ NAZWA REMOTEA ] [ NAZWA GAŁĘZI ]
git fetch [ NAZWA REMOTEA ]

No to ćwiczymy!

#!/bin/bash
git clone http://gity.sznup.se/luke/warsztaty-z-gita.git
#!/bin/bash
git remote add kolo warsztaty@mort.kolo.kt.agh.edu.pl:/home/warsztaty/warsztaty-z-gita.git

Co dalej?

git-scm.com

FIN