106 votes

Rebaser et qu'entend-on par rebaser les commits poussés

On dit souvent que vous ne devriez pas rebaser les commits que vous avez déjà poussés. Quel pourrait être le sens de cela?

80voto

Tim Henigan Points 19948

Le ProGit livre a une bonne explication.

La réponse précise à votre question peut être trouvée dans la section intitulée "les Dangers de L'année de référence". Une citation de cet article:

Lorsque vous rebase choses, vous êtes abandonnant s'engage et d'en créer de nouvelles qui sont similaires mais différentes. Si vous poussez s'engage quelque part et d'autres de tirer vers le bas et de la base de travailler sur eux, et puis vous réécrire ces s'engage avec git rebase et les pousser à nouveau, votre les collaborateurs ont de re-fusionner leur travail, et les choses vont déraper lorsque vous essayez de tirer leur travail dans les vôtres.

Mise à jour:
Basé sur vos commentaires ci-dessous, il semble que votre rencontrez des difficultés avec votre workflow Git. Voici quelques références qui pourront vous aider:

68voto

Jörg W Mittag Points 153275

La relocalisation réécrit l'histoire. Si personne ne sait à propos de cette histoire, alors que c'est parfaitement bien. Si, cependant, que l'histoire est connue du public, puis réécriture de l'histoire dans Git fonctionne de la même manière qu'il le fait dans le monde réel: vous avez besoin d'un complot.

Les complots sont vraiment dur de garder ensemble, afin de mieux vous éviter de rebasage public branches en premier lieu.

À noter qu'il y sont des exemples de succès de conspirations: l' pu de la branche de Junio C. Hamano du dépôt git (le dépôt officiel de la Git SCM) est relocalisée fréquemment. La façon dont cela fonctionne est que presque tout le monde qui utilise pu est également souscrit à l'Git liste de diffusion des développeurs, et le fait que l' pu de la branche est relocalisée est largement relayé sur la liste de diffusion et le Git site web.

6voto

dsolimano Points 5065

Une base modifie l’historique de votre référentiel. Si vous diffusez des commits dans le monde, c'est-à-dire que vous les mettez à la disposition des autres, et que vous modifiez ensuite votre vision de l'historique des commits, il devient difficile de travailler avec quiconque possède votre ancienne histoire.

Rebase considéré comme nuisible est un bon aperçu, je pense.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X