github - Git 问题, 一个 master, 多个新功能分支, 怎样有序地合并和提交?
怪我咯
怪我咯 2017-04-21 11:18:40
0
3
673

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

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

怪我咯
怪我咯

走同样的路,发现不同的人生

répondre à tous(3)
大家讲道理

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.

洪涛

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...).

阿神

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

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal