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.

235 lines
4.1 KiB

1 year ago
  1. ### Staging Area
  2. Initialisierung des neuen git Repositorys in einem leeren Verzeichnis.
  3. ```
  4. mkdir local_repository
  5. cd local_repository
  6. git init
  7. ```
  8. Anlegen einer neuen Text-Datei und einfügen einiger Zeilen Text
  9. ```
  10. git add text.txt
  11. nano text.txt
  12. ```
  13. Anzeigen des aktuellen Statuses und hinzufügen der Datei zu git Stage
  14. ```
  15. git status
  16. git add text.txt
  17. ```
  18. Anzeigen des aktuellen Statuses und Änderungen. Hinzufügen weiterer Zeilen Text in bestehende Datei.
  19. ```
  20. git status
  21. git diff text.txt
  22. echo "Test" >> text.txt
  23. echo "1" >> text.txt
  24. ```
  25. Anzeigen des aktuellen Statuses und erzeugung eines Commits.
  26. ```
  27. git status
  28. git add text.txt
  29. git commit -m "1"
  30. ```
  31. Die Commit-ID in der Ausgabe ist eine lange Zahl: commit 9a154e0f17b4ad7f... . Anzeigen Änderungen.
  32. ```
  33. git log
  34. git diff text.txt
  35. ```
  36. ---
  37. ### Staging Area
  38. Zurücksetzen der Datei auf Stage Stand und Anzeigen aktuellen Status.
  39. ```
  40. git restore --staged text.txt
  41. git status
  42. ```
  43. Anzeigen Änderungen in der Datei und Entfernung aus Stage ohne Zurücksetzen der Datei.
  44. ```
  45. git diff text.txt
  46. git restore --staged text.txt
  47. ```
  48. Anzeigen Status und Änderungen. Zurücksetzen auf den Stand im Commit und erneutes anzeigen des Statuses.
  49. ```
  50. git status
  51. git diff text.txt
  52. git restore text.txt
  53. git status
  54. ```
  55. ---
  56. ### Branching - Anlegen
  57. ```
  58. echo "weitere Zeilen" >> text.txt
  59. git add text.txt
  60. git commit -m "2ersteDatei"
  61. echo "noch weitere Zeilen" >> text.txt
  62. git add text.txt
  63. git commit -m "3ersteDatei"
  64. git init
  65. git add text2.txt
  66. git commit -m "neue Datei"
  67. git branch test1
  68. checkout test1
  69. echo "weitere Zeilen" >> text.txt
  70. git add text.txt
  71. git commit -m "4ersteDatei"
  72. echo "weitere Zeilen" >> text.txt
  73. git add text.txt
  74. git commit -m "5ersteDatei"
  75. git log
  76. echo "weitere Zeilen" >> text2.txt
  77. git add text2.txt
  78. git status
  79. echo "weitere Zeilen" >> text2.txt
  80. git add text2.txt
  81. git commit -m "CommitDatei2"
  82. ```
  83. ### Branching - Zweige wechseln Nr.1
  84. ```
  85. git switch master
  86. git status
  87. git checkout test1
  88. git checkout -b test2
  89. ```
  90. ### Branching - Zweige wechseln Nr.2
  91. ```
  92. git reset master
  93. git status
  94. echo "weitere Zeilen" >> text.txt
  95. git switch test2 (Geht nicht, weil Änderung nicht committet)
  96. git add text.txt (Geht, weil Änderungen in Stage)
  97. git switch -f test2
  98. git branch -m test1 test3
  99. ```
  100. ### Historie - Anzeigen Nr.1
  101. ```
  102. git switch test3
  103. git log (Autor, Datum, Commit-Nachricht, Kennung)
  104. git log -1
  105. git log --oneline
  106. git log --all ("Head" zeigt auf aktuellen Commit)
  107. git switch test2
  108. git log
  109. ```
  110. ### Historie - Anzeigen Nr.2
  111. ```
  112. git switch test3
  113. echo "noch weitere Zeilen" >> text.txt
  114. git add text.txt
  115. git commit -am "1Commitin3"
  116. echo "noch weitere Zeilen" >> text.txt
  117. git add text.txt
  118. git commit -m "2Commitin3"
  119. echo "noch weitere Zeilen" >> text.txt
  120. git add text.txt
  121. git commit -m "3Commitin3"
  122. echo "noch weitere Zeilen" >> text.txt
  123. git add text.txt
  124. git commit -m "4Commitin3"
  125. git log
  126. git log --all
  127. ```
  128. ### Merging - Konfliktfrei
  129. ```
  130. git tag tag-test3
  131. git switch test2
  132. git tag tag-test2
  133. git merge test3
  134. git log --oneline --graph
  135. git reset --hard tag-test2
  136. git switch test3
  137. git merge test2
  138. git log
  139. ```
  140. ### Merging - Konfliktauflösung/Vorbereitung
  141. ```
  142. git reset --hard tag-test3
  143. git add text.txt
  144. git commit -m "Branchname zur zweiten Zeile"
  145. git tag tag-test3-conflict
  146. git switch test2
  147. git tag tag-test2-conflict
  148. ```
  149. ### Merging - Konfliktauflösung
  150. ```
  151. git merge test3
  152. git status
  153. git merge --abort
  154. git merge --no-commit --s recursive -X ours test3
  155. cat text.txt
  156. cp text.txt
  157. git merge --abort
  158. git merge --no-commit --s recursive -X ours test3
  159. diff text.txt text.txt.save
  160. git merge --abort
  161. ```
  162. ### Rebase - Konfliktfrei Nr.1
  163. ```
  164. git checkout test2
  165. git reset --hard tag-test2
  166. git log --all
  167. git rebase test3
  168. git log --all
  169. diff text.txt text.txt.save
  170. ```
  171. ### Rebase - Konfliktfrei Nr.2
  172. ```
  173. git reset --hard tag-test2
  174. git checkout test3
  175. git rebase test2
  176. git log --all
  177. diff text.txt text.txt.save
  178. ```
  179. ### Rebase - Konfliktauflösung Nr.1
  180. ```
  181. git reset --hard tag-test3-conflict
  182. git checkout test2
  183. git reset --hard tag-test2-conflict
  184. git rebase test3
  185. git log --all
  186. ```
  187. ### Rebase - Konfliktauflösung Nr.2
  188. ```
  189. git add text.txt
  190. git rebase --continue
  191. git log -all
  192. git rebase --continue
  193. git log
  194. git rebase --abort
  195. ```