Die Unternehmensrichtlinie wird --no-ff
für Merge-Commits verwendet. Ich persönlich möchte die Zusammenführungsprotokollnachrichten so anpassen, dass ich sie verwende --no-commit
. Außerdem kompiliere und teste ich gerne, bevor ich das Commit loslasse.
Wie mache ich --no-ff
und --no-commit
die Standardeinstellung für mich für alle Filialen?
(und ich habe in den Jahren, seit ich dies gefragt habe, gelernt, dass ich fast immer mit dem Commit zufrieden bin, daher ist es einfacher, es standardmäßig festschreiben zu lassen, und solange ich Dinge ändere oder anderweitig repariere, bevor ich einen Push mache, sind die Dinge alles gut...)
Antworten:
Geben Sie dies in $ HOME / .gitconfig ein:
Sie können dazu git-config verwenden:
quelle
branch.master.mergeoptions="--no-ff"
odermerge.ff="no"
(siehe Antwort unten)--no-ff --no-commit
Stellen Sie die folgenden Optionen ein, um das Standard-Zusammenführungsverhalten festzulegenno
:Das Problem dabei ist jedoch, dass
git pull
=git fetch
+git merge
. Wenn Sie also vom Remote-Server abrufen, erstellen Sie ein hässliches Zusammenführungs-Commit, wenn ein einfacher schneller Vorlauf erforderlich wäre. Um dies zu lösen, stellen Siepull.ff
Folgendes einyes
:quelle
merge.ff
stattdessen nicht der Fall ist. Dies wirkt sich nur auf explizite Zusammenführungen aus, während Pulls weiterhin den gewünschten schnellen Vorlauf ausführen .merge.ff = no
,git pull
werden Zusammenführungs-Commits erstellt.git pull --rebase
( git-scm.com/docs/git-pull ) oder configurebranch.autosetuprebase
( git-scm.com/docs/git-config.html ) verwendenpull.ff = yes
Ab Version 1.7.6 von git sollten Sie verwenden
--no-ff
bei jeder Zusammenführung "erzwingen" .Standardverhalten ist
Und mit
Nicht-Schnellvorlauf-Zusammenführungen werden abgelehnt
quelle
Laut Handbuch sollten Sie verwenden
Standardmäßig wird für alle Zweige mit dem Dienstprogramm git-config die Option "Kein schneller Vorlauf" festgelegt.
quelle