2009-05-13 9 views
3

Ich bin gerade in Git gestern über Github sprang und bin weg von Svn. Ich habe ein privates Repo erstellt, mit dem ich meine persönlichen Projekte zwischen Arbeit und Zuhause synchronisieren kann. Während der Erstellung des Remote-Repos wurden meine lokalen Dateien von der Arbeit nach oben verschoben. Letzte Nacht konnte ich sie zu Hause zu meinem Laptop ziehen.kann nicht zum entfernten Git Repo

Jetzt habe ich einige neue Dateien in das Repo-Verzeichnis bei der Arbeit hinzugefügt. Ich habe "git add filename" hinzugefügt, wobei "filename" für meine Datei steht. Dann habe ich "git commit -m 'meine Nachricht" gemacht und das schien zu funktionieren. Ich kann sie jedoch nicht zur Fernbedienung schieben. Ich habe versucht, ‚git Push persönlich‘ bekam aber einen Fehler:

To [email protected]:geuis/personal.git 
! [rejected]  master -> master (non-fast forward) 
error: failed to push some refs to '[email protected]:geuis/personal.git' 

Svn ist wirklich gerade nach vorne, wenn es um diese Dinge geht. Ich habe versucht, Dokumente darüber zu lesen, wie Git funktioniert, aber das meiste scheint davon auszugehen, dass Sie die Grundlagen bereits kennen.

Für meine Situation, was sind die Grundlagen, die ich wissen muss? Fernrepo auf Github und 2 separate Checkouts bei der Arbeit und zu Hause, die manuell mit der Fernbedienung synchronisiert werden.

Ich bin auf einem Mac.

Antwort

7

Um in der Regel auf die Fernbedienung zu drücken, müssen Sie mit der Remote-Zweigstelle auf dem neuesten Stand sein. Versuchen Sie zuerst git pull, dann git push.

Zusätzlich Github empfiehlt git push -u personal master tun, so dass der Kopf gesetzt Ferne

+0

Das tat es! Also, als ich gestern Abend meinen Zug zu Hause gemacht habe, hat das den Remote-Repo von meinem lokalen Arbeits-Repo abgekoppelt? – Geuis

+4

Es sollte nicht haben. Sie haben wahrscheinlich irgendwann Änderungen an den Server zurückgeschickt? Mit Git können Sie Konflikte lokal lösen, selbst wenn es keinen Konflikt gibt. Sie könnten eine leere Datei an einer Kasse erstellen und dann zurück an den Server senden. Der Server akzeptiert keine anderen Commits, egal wie unabhängig von anderen Check-outs, bis sie die Änderungen übernommen haben. – Burke

Verwandte Themen