You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

4.1 KiB

Staging Area

Initialisierung des neuen git Repositorys in einem leeren Verzeichnis.

mkdir local_repository
cd local_repository
git init

Anlegen einer neuen Text-Datei und einfügen einiger Zeilen Text

git add text.txt
nano text.txt 

Anzeigen des aktuellen Statuses und hinzufügen der Datei zu git Stage

git status
git add text.txt

Anzeigen des aktuellen Statuses und Änderungen. Hinzufügen weiterer Zeilen Text in bestehende Datei.

git status
git diff text.txt
echo "Test" >> text.txt
echo "1" >> text.txt

Anzeigen des aktuellen Statuses und erzeugung eines Commits.

git status
git add text.txt
git commit -m "1"

Die Commit-ID in der Ausgabe ist eine lange Zahl: commit 9a154e0f17b4ad7f... . Anzeigen Änderungen.

git log
git diff text.txt

Staging Area

Zurücksetzen der Datei auf Stage Stand und Anzeigen aktuellen Status.

git restore --staged text.txt
git status

Anzeigen Änderungen in der Datei und Entfernung aus Stage ohne Zurücksetzen der Datei.

git diff text.txt
git restore --staged text.txt

Anzeigen Status und Änderungen. Zurücksetzen auf den Stand im Commit und erneutes anzeigen des Statuses.

git status
git diff text.txt
git restore text.txt
git status

Branching - Anlegen

echo "weitere Zeilen" >> text.txt
git add text.txt
git commit -m "2ersteDatei"

echo "noch weitere Zeilen" >> text.txt
git add text.txt
git commit -m "3ersteDatei"

git init 
git add text2.txt
git commit -m "neue Datei"

git branch test1
checkout test1

echo "weitere Zeilen" >> text.txt
git add text.txt
git commit -m "4ersteDatei"

echo "weitere Zeilen" >> text.txt
git add text.txt
git commit -m "5ersteDatei"

git log

echo "weitere Zeilen" >> text2.txt

git add text2.txt

git status 

echo "weitere Zeilen" >> text2.txt
git add text2.txt
git commit -m "CommitDatei2"

Branching - Zweige wechseln Nr.1

git switch master
git status
git checkout test1
git checkout -b test2

Branching - Zweige wechseln Nr.2

git reset master
git status
echo "weitere Zeilen" >> text.txt
git switch test2 (Geht nicht, weil Änderung nicht committet)
git add text.txt (Geht, weil Änderungen in Stage)
git switch -f test2
git branch -m test1 test3

Historie - Anzeigen Nr.1

git switch test3
git log (Autor, Datum, Commit-Nachricht, Kennung)
git log -1
git log --oneline 
git log --all ("Head" zeigt auf aktuellen Commit)
git switch test2
git log

Historie - Anzeigen Nr.2

git switch test3

echo "noch weitere Zeilen" >> text.txt
git add text.txt
git commit -am "1Commitin3"

echo "noch weitere Zeilen" >> text.txt
git add text.txt
git commit -m "2Commitin3"
echo "noch weitere Zeilen" >> text.txt
git add text.txt
git commit -m "3Commitin3"
echo "noch weitere Zeilen" >> text.txt
git add text.txt
git commit -m "4Commitin3"

git log
git log --all

Merging - Konfliktfrei

git tag tag-test3
git switch test2
git tag tag-test2
git merge test3
git log --oneline --graph
git reset --hard tag-test2
git switch test3
git merge test2
git log

Merging - Konfliktauflösung/Vorbereitung

git reset --hard tag-test3
git add text.txt
git commit -m "Branchname zur zweiten Zeile"
git tag tag-test3-conflict
git switch test2
git tag tag-test2-conflict

Merging - Konfliktauflösung

git merge test3
git status
git merge --abort
git merge --no-commit --s recursive -X ours test3
cat text.txt
cp text.txt 
git merge --abort
git merge --no-commit --s recursive -X ours test3
diff text.txt text.txt.save
git merge --abort

Rebase - Konfliktfrei Nr.1

git checkout test2
git reset --hard tag-test2
git log --all
git rebase test3
git log --all
diff text.txt text.txt.save

Rebase - Konfliktfrei Nr.2

git reset --hard tag-test2
git checkout test3
git rebase test2
git log --all
diff text.txt text.txt.save

Rebase - Konfliktauflösung Nr.1

git reset --hard tag-test3-conflict
git checkout test2
git reset --hard tag-test2-conflict
git rebase test3
git log --all

Rebase - Konfliktauflösung Nr.2

git add text.txt
git rebase --continue
git log -all
git rebase --continue
git log
git rebase --abort