Unterschiede
Hier werden die Unterschiede zwischen der gewählten und der aktuellen Version gezeigt.
java-tools:git 2014/12/17 09:01 | java-tools:git 2020/01/22 20:59 aktuell | ||
---|---|---|---|
Zeile 21: | Zeile 21: | ||
</code> | </code> | ||
\\ | \\ | ||
- | Einen Branch ausschecken (dabei werden Änderungen, welche noch nicht commited wurden, verworfen):\\ | + | Einen Branch ausschecken (dabei werden Änderungen, welche noch nicht committed wurden, verworfen):\\ |
<code> | <code> | ||
git checkout <branch> | git checkout <branch> | ||
+ | </code> | ||
+ | \\ | ||
+ | Lokale Änderungen verwerfen, welche bereits committed wurden:\\ | ||
+ | <code> | ||
+ | git reset --hard <origin/branch> | ||
</code> | </code> | ||
\\ | \\ | ||
Zeile 33: | Zeile 38: | ||
<code> | <code> | ||
git add . | git add . | ||
+ | </code> | ||
+ | Genauere Liste der Änderungen anzeigen und Möglichkeit der Auswahl,\\ | ||
+ | welche Änderungen in die staged-area zum Commit übernommen werden sollen\\ | ||
+ | und Anzeige einer Befehlsliste für das weitere Vorgehen (auch beenden ohne zu add-en) | ||
+ | <code> | ||
+ | git add -i | ||
</code> | </code> | ||
\\ | \\ | ||
Zeile 38: | Zeile 49: | ||
<code> | <code> | ||
git commit -m "<Beschreibung des commit>" | git commit -m "<Beschreibung des commit>" | ||
+ | </code> | ||
+ | \\ | ||
+ | Hat man bei einem commit eine Datei vergessen, so kann man diese dem commit nachträglich hinzufügen:\\ | ||
+ | <code> | ||
+ | git commit -m 'Mein commit bei dem eine Datei fehlt' | ||
+ | git add <fehlende Datei> | ||
+ | git commit --amend | ||
</code> | </code> | ||
\\ | \\ | ||
Zeile 68: | Zeile 86: | ||
<code> | <code> | ||
git branch | git branch | ||
+ | </code> | ||
+ | \\ | ||
+ | Änderungen anzeigen (staged, unstaged, untracked):\\ | ||
+ | (siehe auch => git add -i) | ||
+ | <code> | ||
+ | git status | ||
</code> | </code> | ||
\\ | \\ | ||
Zeile 85: | Zeile 109: | ||
gitk | gitk | ||
</code> | </code> | ||
- | ?? | + | \\ |
+ | Aktuelle Dateiversion mit letzer Version vergleichen: | ||
+ | <code> | ||
+ | git log -p [--follow] [-1] myFile | ||
+ | </code> | ||
==== Git konfigurieren ==== | ==== Git konfigurieren ==== | ||
Dafür sorgen, dass sich die bereits gemergten Teile gemerkt werden:\\ | Dafür sorgen, dass sich die bereits gemergten Teile gemerkt werden:\\ | ||
Zeile 104: | Zeile 133: | ||
$ git config --global merge.tool vimdiff | $ git config --global merge.tool vimdiff | ||
</code> | </code> | ||
+ | \\ | ||
+ | ==== Beispielhafter Workflow mit zwei Entwicklern ==== | ||
+ | Nennen wir die beiden A-User und B-User.\\ | ||
+ | Diese arbeiten auf einem gemeinsamen Branch namens //develop//.\\ | ||
+ | A-User macht Änderungen an einer Datei und commited diese. | ||
+ | B-User macht ebenfalls Änderungen, aber an einer anderen Datei. | ||
+ | B-User commited und pushed. | ||
+ | A-User möchte nun commiten, der Versuch wird aber //rejected//, obwohl B-User an anderen Dateien gearbeitet hat. Daher muss A-User erst mit einem <code>git fetch origin</code> | ||
+ | sein Repository auf den neusten Stand bringen. Anschließend führt er einen Merge mit | ||
+ | <code>git merge origin/develop</code> | ||
+ | durch. Nun kann A-User seine Änderungen | ||
+ | <code>git push</code> | ||
+ | ins remote Repository übertragen,. | ||