git
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
git [2015/10/05 14:44] – [Inhalt des Stash anzeigen] olli | git [2024/05/20 10:41] (aktuell) – [git pull oder fetch hängt] olli | ||
---|---|---|---|
Zeile 193: | Zeile 193: | ||
</ | </ | ||
Der Name muss nicht vollständig angegeben werden. | Der Name muss nicht vollständig angegeben werden. | ||
+ | Statt des Namens kann auch eine Email-Adresse (oder ein Teil davon) angegeben werden. | ||
Um nicht nur den aktuellen Branch, sondern alle zu durchsuchen, | Um nicht nur den aktuellen Branch, sondern alle zu durchsuchen, | ||
+ | |||
+ | ===== Prüfen, ob Branch einen Commit enthält ===== | ||
+ | Um zu prüfen, ob ein Branch einen gegebenen Commit enthält kann man den folgenden Befehl verwenden: | ||
+ | <code bash> | ||
+ | git branch -a --contains < | ||
+ | </ | ||
+ | |||
+ | <WRAP important round> | ||
+ | Commits, die über einen Rebase oder Cherry-Pick ins Repo gekommen sind, werden so nicht gefunden. | ||
+ | </ | ||
+ | |||
+ | ===== Autor nachträglich ändern ===== | ||
+ | Um den Autor oder die Emailadresse nachträglich zu korrigieren, | ||
+ | * [[https:// | ||
+ | * Emailadressen im Skript anpassen | ||
+ | * Skript ausführen | ||
+ | * Änderungen pushen | ||
+ | |||
+ | <WRAP important round> | ||
+ | Diese Operation schreibt die History neu. | ||
+ | Wenn die Commits schon öffentlich sind, sollte man dies nur in Ausnahmefällen tun. | ||
+ | </ | ||
+ | |||
+ | ===== Sparse Checkout ===== | ||
+ | Um nur Teile (z.B. ein Unterzeichnis) eines Repositories auszuchecken, | ||
+ | * https:// | ||
+ | * https:// | ||
+ | |||
+ | ===== Branch in eigenes Repository ===== | ||
+ | Um einen Branch '' | ||
+ | <code bash> | ||
+ | git push url:// | ||
+ | </ | ||
+ | '' | ||
+ | '' | ||
+ | |||
+ | ===== Leere Verzeichnisse commiten ===== | ||
+ | Leere Verzeichnisse lassen sich nicht einchecken, der [[https:// | ||
+ | < | ||
+ | # Ignore everything in this directory | ||
+ | * | ||
+ | # Except this file | ||
+ | !.gitignore | ||
+ | </ | ||
+ | Andere Möglichkeit sind leere Dateien wie '' | ||
+ | Eine Diskussion dazu findet sich auch in obigem Link. | ||
+ | |||
+ | ===== git pull oder fetch hängt ===== | ||
+ | Wenn '' | ||
+ | <code bash> | ||
+ | GIT_TRACE=true git pull | ||
+ | </ | ||
+ | ein Trace einschalten. | ||
+ | Auch die Verwendung des von Github deaktivierten, | ||
+ | |||
+ | ===== git Archive ===== | ||
+ | Um einen Branch in eine Zip-Datei zu packen, können die folgenden Kommandos verwendet werden: | ||
+ | <code bash> | ||
+ | git archive -o zipfile.zip master #master Branch | ||
+ | git archive -o zipfile.zip HEAD # | ||
+ | </ | ||
+ | |||
===== Nützliche Aliases ===== | ===== Nützliche Aliases ===== | ||
Diese Aliases können in die ~/ | Diese Aliases können in die ~/ | ||
Zeile 252: | Zeile 315: | ||
git rebase --whitespace=fix HEAD~ && \ | git rebase --whitespace=fix HEAD~ && \ | ||
git reset --soft HEAD~ ; \ | git reset --soft HEAD~ ; \ | ||
- | fi" | + | fi" |
+ | #resets binary permission to the ones in the repo | ||
+ | # from https:// | ||
+ | permission-resetb = "!git diff -p --no-ext-diff --no-color --diff-filter=d | grep -E \" | ||
</ | </ | ||
- | git sed ersetzt in allen Dateien im Repository old-name durch new-name (siehe Bespiel). Dies ist sicherer als die entsprechende Lösung mit "find .", da dabei Verwaltungsdateien von Git mit verändert werden können. | + | '' |
Beispiel: | Beispiel: | ||
Zeile 264: | Zeile 330: | ||
===== Links ===== | ===== Links ===== | ||
* [[http:// | * [[http:// | ||
- | * [[https:// | + | * [[https:// |
* [[https:// | * [[https:// | ||
git.1444049075.txt.gz · Zuletzt geändert: 2015/10/05 14:44 von olli