Szenario:
- Ich mache einen neuen Zweig
- Hack drauf
- begehen Sie es
- Drück es
- hacke es noch ein bisschen weiter
- erneut festschreiben
- versuchen Sie es erneut
Git antwortet:
Aktualisierungen wurden abgelehnt, da sich die Spitze Ihres aktuellen Zweigs hinter dem Remote-Gegenstück befindet. etc.
Ich bin der einzige, der diesen Zweig hackt - niemand anderes berührt ihn. Der Remote-Zweig befindet sich tatsächlich hinter dem lokalen Zweig. Ich sollte überhaupt nicht ziehen müssen.
(Und wenn ich ziehe, meldet Git Konflikte zwischen den beiden und zwingt mich, den Zweig in sich zusammenzuführen.)
Warum passiert das (wahrscheinlich)? Und wie kann ich es diagnostizieren / beheben?
Um es klar auszudrücken, ich verzweige nirgendwo und niemand anderes arbeitet daran:
Remote: Commit A -------- Commit B
Local: Commit A -------- Commit B -------- Commit C
C ist eine gerade Fortsetzung von B, ohne Verzweigung. Aber Git denkt, C ist ein Zweig von A:
Remote: Commit A -------- Commit B
------- Commit C
/
Local: Commit A -------- Commit B
Es ist nicht; es ist eine gerade Fortsetzung von B.
git remote -v
undgit show remote origin
(vorausgesetzt, der Ursprung ist die Fernbedienung, mit der Sie Probleme haben) kann hilfreich sein