Comment déplacer un répertoire vers un nouveau référentiel GIT avec l'historique des engins

Comment déplacer un répertoire vers un nouveau référentiel GIT avec l'historique des engins

En travaillant avec un référentiel GIT, vous devrez peut-être déplacer un répertoire spécifique vers un nouveau référentiel. Si vous copiez simplement le contenu du répertoire d'un référentiel à un autre référentiel, vous perdrez l'historique de la validation. Suivez donc ce didacticiel pour supprimer un répertoire dans un nouveau référentiel GIT avec la préservation de l'historique des engins.

Dans ce tutoriel, vous apprendrez à déplacer un répertoire d'un référentiel GIT à un nouveau référentiel GIT.

Déplacer le répertoire vers un nouveau référentiel GIT

Suivez les étapes ci-dessous pour déplacer un dossier d'un référentiel existant vers un nouveau référentiel.

  1. Tout d'abord, clonez le référentiel principal qui contient un répertoire pour déplacer.
    git clone https: // github.com / nom d'utilisateur / primaire-repo.git  
  2. Changer le répertoire dans le référentiel nouvellement cloné
    nom de référentiel de CD 
  3. Ensuite, l'option filtrante-branche vous permet de réécrire l'historique de révision GIT en réécrivant les branches mentionnées dans la ligne de commande. Cela filtrera le sous-répertoire à partir du reste des fichiers dans le référentiel actuel.
    Git Filter-Branch --prune-Empty - Subdirectory-Filter Sub_Directory_Name Branch_name  

    Ici:

    • Sub_directory_name: Le chemin relatif vers le répertoire dans les fichiers du projet, vous devez séparer des autres.
    • NOM DE LA FILIALE: Sélectionnez le nom de la branche à partir duquel le répertoire sera filtré, comme «Main», «Maître», «Développer», etc.

    Une fois la commande ci-dessus exécutée avec succès, vous verrez que le répertoire actuel n'a que des fichiers qui se trouvaient dans le sous-répertoire.

  4. Créez un nouveau référentiel sur GitHub, Gitlab ou tout autre fournisseur GIT.
  5. Définissez la nouvelle URL comme origine du répertoire actuel. Il s'agit du même répertoire où vous avez filtré le code du référentiel GIT précédent.
    git à distance set-url origine https: // github.com / nom d'utilisateur / new_repo_name.git  
  6. Ensuite, vérifiez que les URL d'origine Git ont été mises à jour dans le répertoire actuel.
    git distors -v  

    Vous verrez la sortie suivante:

    # Vérifiez une nouvelle URL distante> Origine https: // github.com / nom d'utilisateur / new_repo_name.git (fetch)> origine https: // github.com / nom d'utilisateur / new_repo_name.git (push) 
  7. Enfin, poussez tous les fichiers vers le nouveau référentiel.
    git push -u origine branche_name  

Félicitations, vous avez copié avec succès un répertoire dans un nouveau référentiel GIT.