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.
|
|
### 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 ```
|