Ce post est plutôt un mémo pour mon usage personnel, mais s'il peut aider quelqu'un j'en serai ravi :). Voilà donc un mémo traitant des problématiques ou cas d'utilisation que j'ai rencontré. Pour mémoire, je rappelle que je suis dans un environnement SVN (centralisé) - GIT (en client sur mon poste). Cf. les articles précédents: (https://jeanpalaz.gitlab.io/blog/2017/02/01/Git-SVN-workflow/) (https://jeanpalaz.gitlab.io/blog/2017/04/26/Git-SVN-workflow2/)
Cas d'utilisation
Fusion du trunk et d'une branche SVN avec conflit
Il y a 2 façons de fusionner avec GIT avec la commande git merge
ou git rebase
. Je vous laisse le soin de regarder la doc afin de vous familiariser ou d'appronfondir la question. Il y a une chose à retenir c'est
Ne rebasez jamais des commits qui ont déjà été poussés sur un dépôt public.
– Progit : Les dangers du rebasage.
Si je reprends le cas de du Memo2, nous sommes dans le cas ou nous avons une branche publique SVN (maint) et une branche publique (trunk). Donc nous allons utiliser le git merge
.
1 2 3 4 5 6 7 8 |
|
Paf ! C'est le drame conflit !!! Don’t Panic ! On édite le fichier on résout le conflit classiquement. On sauve. Et on ajoute le fichier à l'index git add monFichier
, c'est de cette façon que l'on résout les conflits sous GIT. Le reste devient une habitude :)
1 2 3 4 5 6 7 8 |
|
Au passage un remarque la mention de MERGING dans le prompt qui disparait après commit.
/!\ REGLES A RESPECTER - RAPPEL
- git svn NE PAS partager/interrargir avec un autre repo git, toujours repasser par le repo SVN
- Garder son historique le plus linéaire possible (rebase est ton ami)
- Ne rebasez jamais des commits qui ont déjà été poussés sur un dépôt public.