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
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