2017-10-25 2 views
-1

Ich versuche, ein bloses Repository zu implementieren, um zwei verschiedene Repositories zu synchronisieren. Ich verfolge diesen Beitrag: https://softwareengineering.stackexchange.com/a/303201/102989Fehler beim Synchronisieren zweier verschiedener Git Repos in Synchronisation

Ich bin erfolgreich in der Lage, sowohl Repo auf ersten Mal zu synchronisieren, aber wenn ich weiter etwas in Repo1 (zB für Master-Zweig) begehen und versuchen, dieselben Befehle ausführen dann werfen sie einen Fehler:

! [rejected] master -> master (non-fast-forward) error: failed to push some refs to ' https://UserName:[email protected] . assembla.com/reponame.git' hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Integrate the remote changes (e.g. hint: 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details.

Bitte raten, was ich

Dank hier verpasst

+0

https://stackoverflow.com/questions/4684352/what-does-git-push-non- fast-forward-updates-was-rejected-mean – ElpieKay

+0

Danke @ElpieKay, aber ich benutze bare Repository und dieser Befehl wird nicht funktionieren. –

Antwort

0

Eines der schönen Dinge über git, dass Nachrichten sehr sind seine Fehler ist Explizit darüber, was GIT denkt und was GIT denkt, dass du etwas dagegen tun kannst. Natürlich können die Autoren in seltenen Fällen schlechte Annahmen über Ihre Absichten machen, aber dies ist nicht einer dieser Fälle.

Die Fehlermeldung sagt

error: failed to push some refs to ' https://UserName:[email protected] . assembla.com/reponame.git'

Ok, so was haben Sie vermisst?

Sie können (standardmäßig) nicht zum Zweig einer Gegenstelle drücken, der Änderungen enthält, die Sie noch nicht lokal haben; Sie müssen alle Änderungen, die bereits in der Remote-Zweigstelle vorgenommen wurden, in Ihre lokale Zweigstelle übernehmen, bevor Sie sie übernehmen können. Dies ist notwendig, da es bedeutet, dass Zusammenführungen immer lokal auftreten, was die Möglichkeit zur Konfliktlösung bietet.

Was können Sie also tun?

Integrate the remote changes (e.g. 'git pull ...')

Sie können git pull laufen. Oder gleichwertig, aber mehr klar (so manchmal empfohlen, vor allem für die Nutzer weniger komfortabel mit git), können Sie

git fetch 
git checkout master 
git merge origin/master 
Verwandte Themen