Frage

Ich habe gerade eine Niederlassung gezogen, machte einige lokale Veränderungen, engagiert und versuchte zu schieben. Ich habe diesen Fehler gegeben: ! [rejected] groups -> groups (non-fast forward) Also habe ich versucht, eine zu ziehen, wurde aber Already up-to-date. gesagt

Hier ist, was ich bekommen ziehen dann drückt.

~/dev$ git pull origin groups
Already up-to-date.
~/dev$ git push origin groups
To /mnt/ebs/git/repo.git
 ! [rejected]        groups -> groups (non-fast forward)
error: failed to push some refs to '/mnt/ebs/git/repo.git'

Kann mir jemand erklären, wie dies geschehen kann und wie kann ich es beheben?

War es hilfreich?

Lösung

Wenn Sie den Zweig gezogen, haben Sie dabei die „--track“ Option (in der Reihenfolge Ihnen lokale Niederlassung zu halten den entfernten Zweig Tracking). Wenn Sie nicht getan hat, kann es erklären, dass die „Merge“ -Befehl das nicht funktioniert.

Sie können die Zusammenführung manuell tun:

git fetch
git merge origin/groups

lokale und Remote-repos zu vergleichen, ich schlage vor, Sie diesen Befehl (fügen Sie ihn in einem Alias, ist es sehr nützlich):

git log --graph --oneline --all --decorate

Es wird die Projekthistorie Baum, zeigt die Zweig Etiketten drucken. So sehen Sie, wo Ihre Niederlassung und der Ursprung Zweig divergieren.

Hinweis: Wenn Sie eine lineare Geschichte bewahren wollen, statt einer „merge“, können Sie auf der Fernbedienung eine „rebase“ Ihre lokalen Niederlassung tun, bevor drücken:

git rebase origin/groups
git push origin groups

Andere Tipps

Ich habe hier mit einem anderen Problem.

Meine git eingerichtet wurden alle Zweige zu drücken. Ich war auf einem Zweig FOO, aber es war auch Master versucht, schieben, die nicht aktuell war. Der Trick war es zu merken zu Push-Meister versucht:

To git@git.machine:repo
 ! [rejected]        master -> master (non-fast-forward)

Ich habe folgendes auf meinen .gitconfig nur den aktuellen Zweig standardmäßig drücken:

[push]
    default = current

Das ist keine Antwort auf die gestellte Frage. Ich hatte ein anderes Problem mit der gleichen Fehlermeldung.

Meine Filiale hatte nicht die Remote-Zweig die Änderungen ordnungsgemäß konfiguriert [git pull] zu ziehen. Dies zeigte sich von der o / p von git remote show origin. Also, ich hatte git pull origin <branch_name> statt git pull zu verwenden, um die Änderungen zu ziehen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top