Aber ich bekomme einen Fehler "! [Abgelehnt]" und etwas über "nicht schneller Vorlauf"
Das liegt daran, dass Git die Änderungen aus den Zweigen nicht in Ihrem aktuellen Master zusammenführen kann. Angenommen, Sie haben den Zweig ausgecheckt master
und möchten ihn im Remote-Zweig zusammenführen other-branch
. Wenn Sie dies tun:
$ git pull origin other-branch
Git macht im Grunde das:
$ git fetch origin other-branch && git merge other-branch
Das heißt, a pull
ist nur ein fetch
gefolgt von a merge
. Wenn pull
-ing jedoch zusammengeführt wird, wird Git nur zusammengeführt, other-branch
wenn eine Schnellvorlaufzusammenführung durchgeführt werden kann . Eine Schnellvorlaufzusammenführung ist eine Zusammenführung, bei der der Kopf des Zweigs, in den Sie zusammenführen möchten, direkt von dem Kopf des Zweigs abstammt, den Sie zusammenführen möchten. Wenn Sie beispielsweise über diesen Verlaufsbaum verfügen, führt das Zusammenführen other-branch
zu einer schnellen Zusammenführung:
O-O-O-O-O-O
^ ^
master other-branch
Dies wäre jedoch kein schneller Vorlauf:
v master
O-O-O
\
\-O-O-O-O
^ other-branch
Um Ihr Problem zu lösen, rufen Sie zuerst den Remote-Zweig ab:
$ git fetch origin other-branch
Führen Sie es dann in Ihrem aktuellen Zweig zusammen (ich nehme an, dass dies der Fall ist master
) und beheben Sie alle Zusammenführungskonflikte:
$ git merge origin/other-branch
# Fix merge conflicts, if they occur
# Add merge conflict fixes
$ git commit # And commit the merge!