Je suis nouveau à git et flux git. J'ai lu toutes les différentes pages, des blogs et des questions sur StackOverflow, et l'utilise dans mon développement quotidien.
Mais une question me tracasse, je ne peux pas envelopper la tête autour d'elle. Je sais que les branches fonctionnelles sont censées être petit, vous démarrez une fonction, le code une partie de celui-ci, puis terminer la fonction. Ceci est produit quotidiennement, je comprends. Nous faisons simplement en sorte que notre développement branche est toujours inconstructible.
Mais ce qui se passe quand je suis au milieu d'une caractéristique, il est prêt à être terminé, mais les priorités de travail changent? Je voudrais être en mesure de passer à une autre fonction.
Par exemple, je commence une nouvelle fonctionnalité.
$ git flow feature start yak-Speedup
Je vous écris du code, livrez des fichiers, etc ... et fais de bons progrès à ce sujet. Mais maintenant, je dois changer ce que je travaille, comme la plupart du temps parce que je besoin d'une ressource qui ne sont pas disponibles et le codeur du serveur ne sera pas prêt pour avoir un jour ou deux. Je ne peux pas terminer la fonction, car il va briser la branche se développer.
Je voudrais faire quelque chose comme ceci:
$ git flow feature pause yak-Speedup
$ git flow feature start alpaca-Sheering
#write code
$ git flow feature finish alpaca-Sheering
$ git flow feature resume yak-Speedup
En effet, l'existence de la commande " liste des fonctionnalités de flux git " implique que je peux avoir plusieurs fonctionnalités qui vont en même temps. Mais je ne vois pas comment créer ou basculer entre les fonctions. En effet, je commence à penser que ce n'est pas un problème de flux git du tout, mais un problème de git.
Je vous remercie de toute aide. Merci!
Vous n'avez pas besoin de git flow feature pause yak-Speedup
commande (feature pause
n'existe pas de toute façon). La commande que vous souhaitez utiliser à la place de git flow feature resume yak-Speedup
est git flow feature checkout yak-Speedup
; cela vous récupérera sur le yak-Speedup
Direction générale pour poursuivre le développement.
Exécuter git flow
Affiche:
Try 'git flow <subcommand> help' for details.
Et exécuter git flow feature help
Affiche:
usage: git flow feature [list] [-v]
git flow feature start [-F] <name> [<base>]
git flow feature finish [-rFk] <name|nameprefix>
git flow feature publish <name>
git flow feature track <name>
git flow feature diff [<name|nameprefix>]
git flow feature rebase [-i] [<name|nameprefix>]
git flow feature checkout [<name|nameprefix>]
git flow feature pull <remote> [<name>]
Tard à la fête, mais mon expérience est ceci..Je utilisez git en combinaison avec le flux de git ..
git flow feature start foo <<== start
#code, hack and COMMIT
git checkout develop <<== go back to develop branch..
git flow feature start foo2 <<== start a new feature
#code, hack and COMMIT
git checkout feature/foo <<== go back to foo. NB: using full branch name
En remontant au développement, je m'assurs que je suis ramifiant de manière indépendante de FOO et d'utiliser le développement uniquement. Je peux également faire une fusion de développer s'il y a eu des engagements d'autres fonctionnalités à l'époque ....
Ce que vous voulez sont vraiment des branches:
git branch feature1 <startingpoint>
git checkout feature1
# hack hack hack, commit commit commit
git branch feature2 <startingpoint>
git checkout feature2
# hack hack hack, commit commit commit
# Oops, urgent request comming in, must switch to stable and patch
git stash
git checkout stable
# patch, commit, Push
# back to feature2
git checkout feature2
git stash pop
etc, etc. Les branches sont faites pour cela.
Et une fois que vous savez que votre fonctionnalité est bonne, fusionnez-vous et poussez.
Utilisez un modèle plus explicite. C'est un flux de git amélioré sans commandes supplémentaires:
https://plus.google.com/109096274754593704906/posts/r4qkeyradlr
La chose importante ici est que vous ne démarrez pas la fonctionnalité2 off de la fonctionnalité1.
J'espère que cela t'aides.
[~ # ~ ~] Mise à jour [~ # ~]
J'ai blogué à ce sujet. J'espère que c'est un peu plus clair: