9
votes

Poussant sans commis en mercuriat ou git

Semble comme pour Mercurial ou Git, si je ne mets pas en premier, je ne peux pas pousser?

Donc si je ne vous engagez pas (quand pas encore prêt), je ne peux pas appuyer sur un serveur distant pour sauvegarder mon code? Le code est dans un ordinateur portable, étant transporté, qui peut être quelque peu fragile.


0 commentaires

5 Réponses :


3
votes

C'est correct. Le but de la poussée est de partager un ou plusieurs commits avec d'autres repos. Ni sont principalement destinés aux sauvegardes (bien que certaines personnes les utilisent pour cela).

Il y a beaucoup d'outils de sauvegarde dédiés et de services en ligne. Voir sauvegarde en ligne pour une utilisation personnelle pour une liste.


4 commentaires

Avoir un système de sauvegarde séparé peut sembler un peu tracas. Si seulement git ou mercurial peut laisser les gens mettre en place un repo pour une poussée non engagée. Quelque chose comme git push -ungmied ssh: // un peu / peter / tmp


@Jian, encore une fois, ce ne sont pas des programmes de sauvegarde. L'idée souhaitée est de rendre un ou plusieurs commits significatifs, que vous partagez ensuite. Il n'aurait pas fort de sens d'avoir un repo contenant des commits et des travaux en cours.


Le "système de sauvegarde séparé" peut également être un référentiel. C'est comme ça que je travaille: je code dans mon repo personnel (où je m'engage souvent) et j'ai un repo central pour partager mon travail avec mes collègues (où je pousse, mais moins souvent). Afin de sauvegarder le travail que je fais dans mon repo personnel, j'ai une troisième réputation: un crochet dans mon repo personnel effectue une poussée sur ce repo de sauvegarde à chaque fois que je vous engage. De cette façon, l'opération de sauvegarde est totalement transparente (la pénalité de temps est négligeable).


À titre de comparaison, TFS permet des sauvegardes distantes non engagées: des bizarreries.



2
votes

c'est correct; Vous ne pouvez pas pousser des changements non engagés. Cependant, juste parce que vos changements ne sont pas encore prêts que vous ne voulez pas vous engager. Je n'ai aucune expérience avec Mercurial, mais avec Git, vous pouvez modifier un COMMIT ( GIT COMMITZ -AMEND ) pour le modifier après son engagement. Vous pouvez également faire une série de commits et ensuite faire une boîte de rebasse interactive pour les combiner en une commission unique. Ou vous pouvez simplement faire des engagements aussi nécessaires et ne pas vous inquiéter de vous assurer que votre histoire est totalement vierge.



17
votes

Vous êtes toujours prêt à commettre.

commettre souvent. Engagez-vous à travailler dans la branche d'avancement et à la distribuer aussi largement que vous le souhaitez.

Lorsque vous arrivez à l'état que vous parlez actuellement de «prêt à commettre», examinez la divergence de votre succursale à partir de l'amont, faites un Rebase -i pour le nettoyer et Faites-vous l'impression que vous voulez.

Ce sera plus facile, plus sûr et vous donnera généralement de meilleurs résultats que d'essayer très fort de tout comprendre avant de vous engager. Rappelez-vous: un engagement ne représente pas nécessairement un état permanent souhaité de l'univers. C'est juste quelque part que vous êtes. Comment vous publiez-vous, c'est à vous de décider.

git le fait très facile à publier un DO-NO-NO-WOE-ME-ME - DIRECTION DE VOTRE TRAVAIL En cours que vous pouvez passer ultérieurement dans votre code officielBase à Quel que soit le point et dans la forme que vous pensez le mieux vous convient le mieux.


0 commentaires

7
votes

Il suffit de faire une nouvelle branche à jetter.

Entegez des changements à moitié cuites dans cette branche et poussez cette branche.

Lorsque vos modifications sont prêtes, écrasez-vous votre demi-cuit commettre (en utilisant Rebase ) et fusionner le résultat dans votre maître et supprimer la branche de démarrage. (Vous pouvez supprimer une succursale à partir d'un référentiel distant à l'aide de git push origine : branche - Notez le côlon avant le nom de la branche.)

Il n'y a jamais de raison de ne pas valider vos changements, bien qu'il puisse y avoir des raisons de ne pas commettre à une branche particulière quand ils ne sont pas encore prêts.


0 commentaires