Show pageOld revisionsBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== Minimalbeispiel ====== <code bash> mkdir blabla cd blabla git init . echo "Hello world" > test.txt git add test.txt git commit -m 'proof of concept (poc)' git checkout -b dev </code> Machen Sie dann folgende Änderungen und commiten Sie die Änderungen mit der entsprechenden Message: <code txt> Hello world! </code> Message **important** <code txt> Hello world! Trying stuff... </code> Message **Experimenting** <code txt> Hello world! Now working </code> Message **Now it works.** Aber jetzt haben wir einen Punkt vergessen. Diesen noch einfügen und dann mit <code bash> git add test.txt git commit --amend -m 'Now it really works.' git log </code> Sie sehen, dass der Commit 'Now it works.' ersetzt wurde. Das ist nützlich für kleine bugfixes, die noch nirgends publiziert sind. Sind die commits einmal ge'push't (d.h. publiziert) sollten diese nicht mehr verändert werden. <code bash> git checkout main </code> Wichtigen Bug-fix einfügen: <code> Hello world Wichtiger Bugfix </code> und commiten mit Message 'wichtiger bugfix': <code bash> git commit -am 'wichtiger bugfix' git show-branch </code> ===== Merge ===== <code bash> git checkout main git merge dev </code> Datei test.txt editieren, Konflikt von Hand lösen, dann mit Message 'manual merge' commiten. Problem: Der dev-Branch enthält jetzt den wichtigen Bug-fix nicht. Dazu könnte man einen neuen Branch starten und den dev-Branch vergessen: <code bash> git checkout main git branch -d dev </code> So, und jetzt reparieren wir das ganze wieder. Suchen Sie sich die commit-ID (Hash) vom letzten commit auf dem (nicht mehr existierenden) dev-branch, checken diesen aus und legen den branch 'dev' wieder an. <code bash> git ref-log git checkout xxxxxxxxx git switch -c dev </code> Dann machen wir den merge rückgängig. Dazu suchen Sie die commit-ID (Hash) vom letzten commit vor dem Merge (dafür könnte wohl auch HEAD^ verwendet werden können (d.h. 1 commit davor, wobei es beim merge ja zwei parents gibt...)) <code bash> git checkout main git ref-log git reset --hard xxxxxxxx </code> lehrkraefte/blc/informatik/efi-2023/git/hello-world.txt Last modified: 2024/01/09 07:22by Ivo Blöchliger