- mein bash prompt : https://github.com/git/git/blob/master/contrib/completion/git-prompt.sh
- mein git lg1 hab ich von Stackoverflow
- das hier kam gerade über die Railsgirls vorbei: Der einfache Einstieg in Git
Command | Explanation | |
---|---|---|
mkdir git-demo | bash | legt unterverzeichnis an |
cd git-demo/ | bash | "change directory" - wechselt in verzeichnis |
ls | list files in directory | |
subl einkaufsliste.md | neue Datei editieren (subl -> Sublime editor) |
Command | Explanation |
---|---|
git init | legt git repository in unterverzeichnis .git an |
ls -lart | listet alle dateien im langformat auf - so sieht man .-dateien |
git status | zeigt an, welche Dateien nur im Workspace, oder Index / Staging area sind |
git add . | fügt aktuelles Verzeichnis (.) dem Index hinzu |
mkdir einunterverzeichnis | bash: legt unterverzeichnis an |
touch einunterverzeichnis/hallo.md | bash: legt datei an |
git status | |
git add . | |
git status | |
git add -A . | fügt alle Änderungen, auch das löschen von Dateien, dem Index hinzu |
git status | |
git commit -m "initial commit" | der erste commit mit message |
git status | |
less .git/config | bash: less zeigt Inhalt der Config datei an |
Command | Explanation |
---|---|
git remote add origin git@github.com:bkleinen/git-demo.git | remote repository, dass vorher auf github angelegt wurde, bekannt machen - die url von der github seite kopieren |
less .git/config | das steht dann in der config! |
git push origin master | Änderungen in das remote Rep. pushen |
cd .. | bash: eine Verzeichnisebene höher |
- Zuerst auf Github neues repository anlegen, falls nicht mit einem schon vorhandenem gearbeitet werden soll
Command | Explanation |
---|---|
git clone git@github.com:htw-imi-info3/su-03-gitdemo.git | s.o. |
ls | siehe da: su-03-gitdemo ist jetzt da |
cd su-03-gitdemo/ | bash: wechsle in das verzeichnis |
ls | |
ls -a | |
less .git/config | remote steht jetzt schon in der konfig |
Command | Explanation |
---|---|
mv su-03-gitdemo/ su-03-gitdemo-personA | bash: mv - move nennt dateien um |
cd su-03-gitdemo-personA/ | |
subl . | irgendwas editieren |
git status | |
git add added-by-a.md | fügt einzelne datei dem index zu |
git commit -m "added cheese by a" | |
git lg1 | |
git push origin master |
Command | Explanation |
---|---|
cd .. | |
git clone git@github.com:htw-imi-info3/su-03-gitdemo.git su-03-gitdemo-personB | |
ls | |
cd su-03-gitdemo-personB/ | |
ls | |
subl added-by-a.md | |
git status | |
git add . | |
git commit -m "added milk by B" | |
git push origin master | |
cd .. |
Command | Explanation |
---|---|
cd su-03-gitdemo-personA | |
ls | |
less added-by-a.md | - änderung noch nicht da |
git pull --rebase origin master | |
git lg1 | jetzt ja |
Command | Explanation |
---|---|
git checkout -b freitagseinkauf | neuen branch anlegen und auschecken |
git branch | listet branches auf |
subl freitagseinkauf.md | |
git status | |
git add . | |
git commit -m "freitag von A" | |
git status | |
git lg1 | |
git checkout master | |
subl added-by-a.md | |
git commit -am "change in master by a" | |
git lg1 | |
git push origin master | |
pwd | "print working directory |
git lg1 | |
git push origin freitagseinkauf | push the new branch as well |
Command | Explanation |
---|---|
cd /Users/kleinen/Dropbox/info3/code/git-demo/class/su-03-gitdemo-personB/ | |
git pull --rebase origin master | master holen mit rebase |
git lg1 | |
git pull origin freitagseinkauf | mergt den branch in master! |
git lg1 | |
git push origin master | diesen merge pushen |
git lg1 |
Command | Explanation |
---|---|
git fetch origin freitagseinkauf | holt den branch nur in das lokale repository, nicht in den workspace |
git lg1 | |
git checkout freitagseinkauf |
Command | Explanation |
---|---|
git lg1 | |
git pull origin master | |
git lg1 | |
git checkout freitagseinkauf | |
ls | |
subl freitagseinkauf.md | |
git commit -am "change in Branch F." | |
git push origin freitagseinkauf | |
git checkout master |