recherche

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

git - Comment garder le projet Fork cohérent avec la source

L'arrière-plan est comme ceci. J'ai transféré une copie de l'entrepôt de quelqu'un d'autre vers le mien, puis j'ai créé une nouvelle succursale dans mon propre entrepôt et j'ai travaillé dessus
Maintenant que le coffre de l'entrepôt de quelqu'un d'autre a été mis à jour, Je dois le mettre à jour localement et le soumettre. Accédez à votre propre entrepôt
et lisez la méthode sur Internet, qui dit d'utiliser git remote add name location
puis git pull name master
puis poussez. Allez dans votre propre entrepôt
Mais cela arrive quand je pousse Xiaobai, veuillez demander

.
淡淡烟草味淡淡烟草味2781 Il y a quelques jours744

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

  • 淡淡烟草味

    淡淡烟草味2017-05-02 09:41:14

    Si vous souhaitez mettre à jour la branche principale de votre fork, vous devez git checkout master d'abord, puis tirer. De cette façon, vous pouvez pousser vers origin master après avoir tiré.

    Si vous souhaitez simplement mettre à jour votre wuninghan.banbranche actuelle :

    1. Si votre modification actuelle n'a pas encore été validée, alors git stash d'abord. S'il a déjà été validé, passez à l'étape suivante. À ce stade, vous pouvez utiliser git status pour vérifier s'il y a du code dans la zone de transit.

    2. Cette étape peut être réalisée de plusieurs manières. Mon habitude est de commencer par git fetch --all puis git rebase ruoxue/master. Bien sûr, vous pouvez aussi directement git pull --rebase, pour la même raison.

    3. Si vous cachez dans la première étape, alors cette fois git stash apply stash@{0} (Théoriquement, c'est 0, si vous avez fait la cachette ci-dessus)

    S'il y a des conflits lors de la deuxième étape, gérez-les simplement.

    répondre
    0
  • PHPz

    PHPz2017-05-02 09:41:14

    Prenons vuejs-templates/webpack comme exemple, car je crée ce modèle de projet vue pour apporter des modifications

    Ensuite, je pense que ce projet a ses propres particularités. Sa branche principale n'est pas master, mais dist, et l'outil de chargement de modèles vue-cli téléchargera les fichiers sous la branche dist en tant que projet. modèle par défaut.

    Cela a la situation suivante

    • Pour plus de commodité, il est préférable d'effectuer les modifications directement sur dist, afin de pouvoir taper moins de mots en utilisant vue-cli

    • a apporté des modifications à dist en raison de mes propres besoins. Je ne voulais pas soumettre pr à original repo, mais je voulais aussi avoir une branche pour qu'elle reste cohérente avec original repo , et aussi utilisé pour soumettre pr

    Je vais créer une nouvelle dist branche track-1 basée sur la branche
    après le fork. Les étapes spécifiques sont les suivantes

    .
    # 创建track-1分支
    git checkout -b track-1 dist
    
    # 添加origin repo remote
    git remote add original https://github.com/vuejs-templates/webpack.git
    
    # ....这里是开发时间...
    # 1.对dist做自己的改动,同时origin repo有更新,希望保持更新
    
    # 把original所有数据拉下来
    git fetch original
    
    # 切回track-1分支
    git checkout track-1
    
    # 把original主分支rebase到track-1分支
    git rebase original/dist
    
    # 切换回fork的dist分支
    git checkout dist
    
    # 合并track-1分支的更新
    # 这里没用rebase而是用merge,因为感觉这个用rebase比较繁琐,实际上应该用哪个我也不清楚
    git merge track-1
    
    # ...解决冲突等等...
    # git push
    
    # ....这里是开发时间...
    # 2.对track-1做改动,希望提交pr给original repo
    
    # 把改动提交,提交前需要确认分支为最新状态
    # git fetch original
    # git rebase original/dist
    git push
    
    # ...接下来就是上github进行操作...
    
    # 假如已合并pr的话,在切回dist分支
    git checkout dist
    git merge track-1

    Ça paraît quand même un peu lourd, je ne sais pas si cette démarche est raisonnable

    répondre
    0
  • Annulerrépondre