Ich habe ein Commit auf Remote verschoben, aber jetzt habe ich festgestellt, dass die Commit-Nachricht nicht korrekt ist. Ich möchte die Commit-Nachricht ändern, aber AFAIK ist nicht möglich. Also habe ich beschlossen, ein leeres Commit mit der richtigen Nachricht zu erstellen:
git commit --allow-empty
Gibt es irgendwelche Nachteile / Konsequenzen, wenn leere Commits verschoben werden? Gibt es ein Problem, mit dem ich in Zukunft aufgrund dieses leeren Commits konfrontiert sein könnte?
git
git-commit
mrutyunjay
quelle
quelle
Antworten:
Sie werden keine schrecklichen Konsequenzen haben, nur die Geschichte wird verwirrend aussehen.
Sie können die Festschreibungsnachricht ändern, indem Sie Folgendes tun
ABER dies wird die entfernte Geschichte mit Ihrer überschreiben, was bedeutet, dass wenn jemand in der Zwischenzeit dieses Repo gezogen hat, diese Person sehr sauer auf Sie sein wird ...
Tun Sie es einfach, wenn Sie die einzige Person sind, die auf das Repo zugreift.
quelle
--force-with-lease
verlieren Mitarbeiter Arbeit zu vermeiden.Durch Drücken von Commits, ob leer oder nicht, werden eventuelle Git-Hooks ausgelöst. Dies kann entweder nichts bewirken oder weltbewegende Konsequenzen haben.
quelle
Abgesehen von der extremen Verwirrung könnte jemand erfahren, warum es eine Reihe von Commits gibt, die keinen Inhalt auf Master enthalten, nicht wirklich.
Sie können das Commit ändern, das Sie an Remote gesendet haben, aber der sha1 des Commits (im Grunde ist es die ID-Nummer) ändert sich dauerhaft, wodurch sich der Quellbaum ändert. Sie müssten dann ein
git push -f
Back an Remote durchführen.quelle
Solange Sie das andere Commit aus dem leeren Commit eindeutig referenzieren, sollte es in Ordnung sein. Etwas wie:
Wie andere bereits betont haben, ist dies häufig vorzuziehen, um ein korrigiertes Commit zu erzwingen.
quelle
quelle
Was ist damit?
quelle