Last active 1750701260

Revision 989107893c062f04591c087b10b667dd310c0599

Scinder un dépôt git en deux Raw
1# Scinder un dépôt en deux dépôts distincts
2
3## Nomenclature
4
5+ `OLD_REPO` : nom de l'ancien dépôt à scinder
6+ `NEW_REPO_1` : nom du nouveau premier dépôt
7+ `NEW_REPO_2` : nom du nouveau second dépôt
8+ `OLD_REPO_DIR_1` : nom du dossier qui deviendra `NEW_REPO_1`
9+ `OLD_REPO_DIR_2` : nom du dossier qui deviendra `NEW_REPO_2`
10+ `TEMP_BRANCH_1` : nom de la branche temporaire de `OLD_REPO` dans laquelle on va "cloner" `OLD_REPO_DIR_1`
11+ `TEMP_BRANCH_2` : nom de la branche temporaire de `OLD_REPO` dans laquelle on va "cloner" `OLD_REPO_DIR_12`
12
13## Préparer l'ancien dépôt
14
15```
16$ git clone <url/git/vers/OLD_REPO.git>
17$ git subtree split --prefix OLD_REPO_DIR_1 -b TEMP_BRANCH_1
18$ git subtree split --prefix OLD_REPO_DIR_2 -b TEMP_BRANCH_2
19```
20
21## Préparer les futurs dépôts
22
23Sur le serveur git créer les futurs dépôts `NEW_REPO_1` et `NEW_REPO_2`.
24
25## Initialiser les futurs dépôts
26
27```
28$ mkdir <chemin/vers/NEW_REPO_1>
29$ cd <chemin/vers/NEW_REPO_1>
30$ git init --initial-branch=main
31$ git pull <chemin/vers/OLD_REPO> TEMP_BRANCH_1
32$ git remote add origin <url/git/vers/NEW_REPO_1>
33$ mkdir <chemin/vers/NEW_REPO_2>
34$ cd <chemin/vers/NEW_REPO_2>
35$ git init --initial-branch=main
36$ git pull <chemin/vers/OLD_REPO> TEMP_BRANCH_2
37```
38
39## Mettre à jour les dépôts git distants
40
41$ git remote add origin <url/git/vers/NEW_REPO_1>
42$ git push --set-upstream origin --all
43$ git push --set-upstream origin --tags
44$ git remote add origin <url/git/vers/NEW_REPO_2>
45$ git push --set-upstream origin --all
46$ git push --set-upstream origin --tags
47