2009-05-13 9 views
3

Je viens de sauter dans Git hier via Github et je m'éloigne de svn. J'ai créé un dépôt privé que j'ai l'intention d'utiliser pour synchroniser mes projets personnels entre le travail et la maison. Pendant le processus de création du repo à distance, mes fichiers locaux du travail ont été poussés vers le haut. La nuit dernière, j'ai pu les ramener à mon ordinateur portable à la maison.ne peut pas pousser à distance Git repo

Maintenant, j'ai ajouté de nouveaux fichiers au répertoire repo au travail. J'ai fait "git add filename" où "filename" est mon fichier. Puis j'ai fait "git commit -m 'mon message" "et cela a semblé fonctionner. Je ne peux pas les pousser à la télécommande cependant. J'ai essayé git pousser personnel »mais ai eu une erreur:

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 est vraiment en avant droite quand il vient à ce genre de choses. J'ai essayé de lire des documents sur le fonctionnement de Git, mais la plupart semblent supposer que vous connaissez déjà les bases.

Pour ma situation, quelles sont les bases que je dois savoir? Repo à distance sur Github, et 2 caisses séparées au travail et à la maison qui seront synchronisées manuellement avec la télécommande.

Je suis sous Mac.

Répondre

7

Pour être en mesure de pousser vers la télécommande, en général, vous devez être à jour avec la branche distante. Essayez d'abord git pull, puis git push.

De plus, github vous recommande de faire git push -u personal master pour que la tête est réglée à distance

+0

qui l'a fait! Donc quand j'ai fait mon pull hier soir à la maison, est-ce que cela a rendu le repo à distance désynchronisé avec mon repo de travail local? – Geuis

+4

Il ne devrait pas avoir. Vous avez probablement repoussé certaines modifications sur le serveur à un moment donné? Git vous oblige à traiter les conflits de fusion localement, même s'il n'y a pas de conflit. vous pouvez créer un fichier vide sur une caisse, puis le repasser sur le serveur. Le serveur n'acceptera aucun autre commit, aussi indépendant soit-il, des autres caisses, jusqu'à ce qu'il ait retiré les modifications. – Burke

Questions connexes