recherche

Maison  >  Questions et réponses  >  le corps du texte

从github上pull一个本地不存在的分支的方法?

github分支结构

本地代码的结构

现在我想从github中pull其develop分支,想达到本地也有master和develop分支的效果,但是我用

git pull origin develop

发现这条命令的结果是在本地的master分支基础上对github的develop分支进行合并

问题1:难道需要现在本地创建一个develop分支,然后checkout到本地develop分支,然后再执行git pull操作吗?如果是这样,那么如果本地分支的个数和github上相差很大时,需要每个都按照上面的方法走一遍?

问题2:有没有一条命令,能对本地的所有分支进行更新同步到github上面的版本?

问题3:有没有方法,能把所有的github的分支更新pull下来?

问题4:如果是本地存在某个分支test,而github上面不存在该分支,是不是需要人工删除?有没有像问题3中把所有分支更新pull下来,包括已删除的分支pull到本地之后,本地的相应分支也会删除

ringa_leeringa_lee2798 Il y a quelques jours520

répondre à tous(3)je répondrai

  • ringa_lee

    ringa_lee2017-04-24 09:13:39

    1. git fetch origin Récupérez simplement les modifications à distance. Ou git pull retirera les mises à jour de la branche actuelle et fera glisser les autres branches en même temps. Sauf si l'option -b est utilisée lors du clonage. Vous pouvez également utiliser git fetch origin develop pour préciser. git fetch est le pendant de git push.
    2. Vous êtes trop paresseux. man git-push Vous pouvez voir la réponse (enfin, même si je ne la connaissais pas avant) :

    --tous
    Au lieu de nommer chaque référence à pousser, précise que toutes les références sous refs/heads/ doivent être poussées.

    répondre
    0
  • 阿神

    阿神2017-04-24 09:13:39

    • Si vous souhaitez uniquement synchroniser le dépôt distant avec le dépôt local :
    $ git fetch origin
    
    • Si vous souhaitez extraire certains contenus de la branche distante après avoir terminé la synchronisation du référentiel distant. Si vous y réfléchissez bien, git pull est implémenté par deux commandes : git fetch et git merge La première exploite le référentiel, et la seconde affecte les fichiers locaux via le référentiel. Eh bien, tu peux
    $ git checkout -b localbranch
    $ git pull origin remotebranch:localbranch // 当本地分支和远程分支名称相同时,只写一个就可以
    // 这种方法适合pull指定分支
    
    • Vous devez pousser toutes les succursales locales vers l'extrémité distante
    $ git push -all
    

    répondre
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-24 09:13:39

    Comprenez git pull = fetch + merge, alors la question 3 ne peut pas être effectuée, car la fusion peut avoir des conflits et ne peut faire fonctionner qu'une seule branche.

    Je déteste aussi les manuels en anglais, ils sont tellement rares à lire. . .

    répondre
    0
  • Annulerrépondre