recherche

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

github - Git 问题, 一个 master, 多个新功能分支, 怎样有序地合并和提交?

以前大多个是一个的使用 Git, 到 Github 上提交的场景, 对多人开发合并项目经验不多,
现在遇到的是在 Github 上存在主分支, 本地需要修改多个功能和 bug 等等,
我是按以前实习回来的同学提示, 在多个分支开发不同的功能, 然后合并提交..
合并和提交的顺序不是确定的, 因此不能简单直接用 merge 每次一个个叠加.
有时我用 rebase, 但有发现 commit 顺序不是时间顺序, 到线上被 merge 以后也不是非常清晰
于是我想问一下面对这样的场景, 用怎样的方式管理会更合适?

有在 Google, 但一些细节不清晰.. 比如 commit 显示顺序.. 还有再次被 merge 后的细节..

怪我咯怪我咯2801 Il y a quelques jours670

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

  • 大家讲道理

    大家讲道理2017-04-21 11:20:40

    Git prend en charge de nombreux types de workflows. Ce que nous utilisons généralement est le suivant : créer une branche principale à distance et créer des branches fonctionnelles localement :

    Allez dans votre propre branche de travail
    $ git checkout work

    Travail
    ....

    Soumettre les modifications à la branche de travail
    $ git commit -a

    Retour à la branche principale
    $ git checkout master

    Obtenez les dernières modifications à distance, aucun conflit ne se produira pour le moment
    $ git pull

    Retour à la branche de travail
    $ git checkout work

    Utilisez rebase pour fusionner les modifications apportées au tronc et résoudre tout conflit à ce moment
    $ git rebase master

    Retour à la branche principale
    $ git checkout master

    Fusionnez les modifications de la branche de travail, et aucun conflit ne se produira pour le moment.
    $ git merge work

    S'engager sur le réseau distant
    $ git push

    L'avantage de ceci est que l'historique sur le tronc distant est toujours linéaire. Chacun résout les conflits sur sa branche locale et ne crée pas de conflits sur le tronc.

    répondre
    0
  • PHP中文网

    PHP中文网2017-04-21 11:20:40

    La réponse donnée par l'ami ci-dessus est très bonne. J'ajouterai ici une autre information pour référence de l'affiche. Ceci a été écrit par frère Ruan, [stratégie de gestion de branche git](http://www.ruanyifeng.com/blog/2012/0...).

    répondre
    0
  • 阿神

    阿神2017-04-21 11:20:40

    Vous pouvez développer ensemble sur une branche. Lorsque vous apportez des modifications, utilisez

    avant de soumettre.
    git stash
    

    De cette façon, toutes les modifications locales sont mises en cache dans une pile, puis les modifications des autres personnes sont synchronisées

    git pull --rebase
    

    L'étape suivante consiste à rétablir vos modifications sur le dernier nœud

    git stash pop
    

    Ensuite, utilisez git commit pour soumettre, afin que la version d'une branche continue à se développer dans l'ordre, plutôt que comme tricoter un pull. Vous pouvez jeter un œil à la comparaison avant et après avoir utilisé cette méthode

    Avant

    :

    Après ça

    répondre
    0
  • Annulerrépondre