Comment mettre à jour locale des pensions de maître?
Je suis habitué à l'utilisation de SVN et seulement s'est récemment tourné vers GitHub.
Je suis en train de mettre à jour certains fichiers dans un dépôt GitHub, mais je reçois ce message:
To https://github.com/.../
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/.../'
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.
J'ai essayé des commandes comme git fetch origin
et git pull
, mais aucun de ces faire en sorte que mes actuelles de la direction générale n'est pas en retard.
Dans SVN je venais de faire svn update
puis valider mes modifications.
J'ai aussi essayé de git pull origin
, mais je reçois un étrange message texte à sauter et je n'ai aucune idée de comment faire l'interface avec elle: Mise à jour d'un référentiel local avec les modifications apportées sur un dépôt Github
- Généralement
git pull
de la fusion des commits de la distance, de sorte que votre direction n'est pas derrière et de vous permettre de vous pousser. Qu'est-ce que la sortie degit remote -v
etgit branch -vv
? - J'ai corrigé manuellement par le clonage et la copie de mes modifications. J'ai essayé
git pull
avant, mais il demande de préciser le nom de la branche, je suis en tirant à partir de. Si je negit pull origin
, EMACs-comme fichier s'ouvre, demandant d'expliquer pourquoi je suis à la fusion.
Vous devez vous connecter pour publier un commentaire.
Vérifier votre actuelle de la direction de la commande:
git branch
Il montrera votre nom de la branche avec un astérisque (*) à côté du nom.
Ensuite mettre à jour votre succursale locale avec la télécommande de la direction de la
git pull origin branchname (C'est le nom de la branche avec des astérisques)
Maintenant, vous pouvez pousser votre code pour le dépôt distant si vous avez déjà commis de vos changements locaux avec la commande:
git push origin branchname
Si vous n'avez pas commis encore, faites d'abord un commettre et ensuite faire un git pull et pousser.
Il est normal que git pour ouvrir un éditeur lorsque vous tirez. C'est parce que vous êtes de la fusion dans les changements à partir de la télécommande à votre succursale locale.
Lorsque vous tirez, git détecte si il doit fusionner à votre succursale locale avec la télécommande de la branche. Si elle a besoin de fusionner, il va le faire et de vous présenter avec la possibilité d'écrire un message personnalisé pour la fusion s'engager. À ce stade, vous pouvez choisir de simplement fermer l'éditeur, et git va terminer le processus.
Fondamentalement, tout ce que vous aviez à faire est de fermez l'éditeur et vous auriez été fait.
Essentiellement, git est de faire ce qui suit: