Вы находитесь на странице: 1из 3

git config --global <key> <value>

git config --global user.name "John Doe"


git config --global user.email johndoe@example.com
git config --list
git help <verb>
git init # Ein Git Repository erstellen (erstellt .git)
git --bare init # Ein Git Repository ohne Working Directory erstellen
git clone <URL> # Ein Git Repository klonen
git add <file> # Zur Versionsverwaltung hizufgen oder stagen
-A, --all # Whle alle Files aus
git rm <file> # Wird beim nchsten commit gelscht
--cached # Aus Versionskontrolle entfernen
git status # Zeigt Branch und modified Files
git reset HEAD <file> # Datei aus dem Staging Area entfernen
git checkout -- <file> # Macht nderungen an der Datei rckgngig
git diff # Vergleicht Arbeitsverzeichnis mit Staging Area
--staged # Vergleicht Staging Area mit letztem Commit
git commit # nderungen committen
-v # Verbose
-m 'bla' # Nachricht gleich anfgen
-a # Staging Area berspringen
--amend # Dateien nachtrglich zum letzten Commit hinzufgen oder Meldung nde
rn
git mv <file_from> <file_to> # Umbenennen einer Datei (oder: mv, git rm, git
add)
git remote # Zeigt die externen Server fr ein Projekt an
-v # Zeigt auch die URL an
add <shortname> <url> # Fgt eine neue Remote Repository hinzu
show <remote-name> # Zeigt Informationen ber die Remote Repository
rename <old-name> <new-name> # Umbenennen der Remote Repository
rm <remote-name> # Entfernt eine Remote Repository
git fetch <remote-name> # Daten aus Remote Repository herunterladen/aktu
alisieren
git push # Ldt einen Tracking-Branch hoch
<remote-name> <branch-name> # Ldt den Branch in die Repository hoch (z.B.: gi
t push origin master)
<remote-name> :<branch> # Lscht einen Remote-Branch
git pull # Fetched und merged einen Tracking-Branch
git request-pull <remote>/<branch> <fork-name> # Generiert die Nachricht fr eine
n Pull-Request von fork nach remote-branch
git format-patch <branch> # Erstellt Patch-Dateien, die man einem Maintain
er mailen kann. Der aktuelle Branch soll nach Branch gemergt werden
-M # Look for renames
git branch # Listet die Branches auf
<branch-name> # Erzeugt einen neuen Branch
-d <branch-name> # Lscht einen Branch
-v # Zeigt den letzten Commit jedes Branches an
--merged, --no-merged # Listet Branches auf, die mit dem aktuellen gem
erged bzw. nicht gemerged sind
git checkout <branch-name> # Wechselt den Branch
-b <branch-name> # Erzeugt einen neuen Branch und wechselt zu ihm
-b <branch-name> <remote-name>/<branch> # Erzeugt einen Tracking-Branch
auf Grundlage eines Remote-Branches
--track <remote-name>/<branch> # Dasselbe wie oben
git merge <branch> # Merge branch in den aktuellen Branch
--no-commit # Es soll nicht automatisch committed werden
--squash # Nimmt die nderungen von Branch, macht daraus ei
nen Commit und wendet den an
git mergetool # ffnet ein grafisches Tool zum mergen
# Do not rebase commits that you have pushed to a public repository.
git rebase <branch> # Macht den aktuellen Branch zu einem Patch und
fhrt in auf branch aus
<base-branch> <theme-branch> # Rebased den Themenbranch auf den Basisbranch
-i # interaktiv
--onto <br1> <br2> <br3> # Wende die Patches, seit br3 von br2 abgespalte
n ist, auf br1 an
git tag # Tags anzeigen
<tagname> # Einfacher Tag anlegen
-a <tagname> # Kommentierter Tag anlegen
-a <tagname> <checksum> # In nachhinein eine alte Version taggen
-m 'bla' # Nachricht gleich anfgen
git show <tagname> # Listet Informationen ber die Tags auf
git push origin <tagname> # Tag auf den Server pushen
git push origin --tags # Alle Tags auf den Server pushen
git log # Log anschauen
-p # Zeigt nderungen an
--stat # Zeigt in welchen Files etwas gendert wurde
--shortstat # Kurzstatistik
--pretty=<format> # ndert Formatierung (oneline, short, full, fuller, forma
t:"%an, %ar : %s")
--graph # Zeichnet einen ASCII-Graphen
-<n> # Zeigt die letzten n Eintrge an
--since, --after # Zeigt nur Commits, die nach dem angegebenen Datum ange
legt wurden.
--until, --before # Zeigt nur Commits, die vor dem angegebenen Datum angel
egt wurden.
--author # Zeigt nur Commits, die von dem angegebenen Autor vorge
nommen wurden.
--committer # Zeigt nur Commits, die von dem angegebenen Committer a
ngelegt wurden.
git diff master...contrib # Zeigt die nderungen des contrib Branches seit dem
gemeinsamen Vorfahren mit master.
git archive master --prefix='project/' | gzip > `git describe master`.tar.gzip
# Erstellt ein Archiv aus dem letzten snapshot.
gitk # Grafische Version von git log
.gitignore
*.[oa] # Ignoriere Dateien mit Endung .o oder .a
!lib.a # nicht aber lib.a Dateien (obwohl obige Zeile *.a ignoriert)
/TODO # ignoriert eine TODO Datei nur im Wurzelverzeichnis, nicht aber
in Unterverzeichnissen
build/ # ignoriert alle Dateien im build/ Verzeichnis
doc/*.txt # ignoriert doc/notes.txt, aber nicht doc/server/arch.txt
Auto-Vervollstndigung
Die Datei "contrib/completion/git-completion.bash" ins Home-Verzeichnis kopieren
und "source ~/.git-completion.bash" in die .bashrc schreiben. Alternativ nach "
/etc/bash_completion.d/" kopieren (fr alle Benutzer).
Alias
git config --global alias.unstage 'reset HEAD --'
git config --global alias.last 'log -1 HEAD'
Tips
git diff --check # Checke vor dem Commit ob Whitespace-Fehler vorhanden s
ind
Commit-Message: Short summary (max. 50 chars), blank line, detailed explanation
(wrapped at ~72 chars)
SVN
(Keep a linear Git history that doesn't contain merge commits made by git merge.
Rebase any work you do outside of your mainline branch back onto it; don't merge
it in.)
git svn clone <URL> -T trunk -b branches -t tags # SVN Reposiory klonen
git svn clone <URL> -s # Ist dasselbe wie oben
git commit -am 'bla'
git svn dcommit # Zum SVN Server pushen
git svn rebase # Macht ein Pull und ein Rebase der Commits
git svn fetch # Ldt neue Dateien herunter (rebase besser)
git svn branch <branchname> # Erstellt im SVN einen neuen Branch
git branch <branch> remotes/<branch> # Erstellt einen Branch, der mit einem S
VN-Branch verknpft ist
git merge <branch> # Merges zwei Branches. Danach sollte de
r alte Branch gelscht werden. Alles wird ein einen Commit gesquashed
git svn log # Log im SVN-Format. Ist nicht aktuell
git svn show-ignore > .git/info/exclude # Erstellt ein .gitignore mit de
m Inhalt von svn:ignore

Вам также может понравиться