Die Antwort ist da, Git sagt Ihnen, zuerst zu holen.
Wahrscheinlich hat jemand anderes schon gedrängt, um zu meistern, und Ihr Commit ist zurück. Daher müssen Sie den Changeset holen, zusammenführen und dann können Sie erneut drücken.
Wenn Sie nicht (oder noch schlimmer, wenn Sie es mit der Option --force
erzwingen), können Sie den Commit-Verlauf durcheinander bringen.
EDIT: Ich komme näher auf den letzten Punkt, da ein Mann hier nur den sehr schlechten Tipp der Verwendung der --force
Option gab.
Da git ein DVCS ist, arbeiten im Idealfall viele andere Entwickler an demselben Projekt wie Sie und verwenden dasselbe Repository (oder einen Zweig davon). Wenn Sie Ihren Änderungssatz stark überschreiben, stimmt Ihr Repository nicht mit dem der anderen überein, da "Sie den Verlauf neu geschrieben haben". Du wirst andere unglücklich machen und das Repository wird leiden. Wahrscheinlich wird auch ein Kätzchen auf der Welt weinen.
TL; DR
- Wenn Sie lösen wollen, holen erste (und dann verschmelzen).
- Wenn Sie hacken möchten, verwenden Sie die Option
--force
.
Sie fragten nach dem ehemaligen, obwohl. Gehen Sie für 1) immer, auch wenn Sie git immer selbst verwenden, weil es eine gute Übung ist.
Das gleiche Problem: D – core114