Comment transférer les modifications vers le référentiel Git à partir d'un répertoire non initialisé
-
21-12-2019 - |
Question
J'ai une copie locale de tous les fichiers d'un référentiel Git dans un répertoire non initialisé, c'est-à-direnon suivi par Git (sans .git dedans) et j'y ai apporté quelques modifications.Comment puis-je transférer ces modifications vers le référentiel Git distant ?
Ces actions peuvent décrire ce que je veux dire :
git clone … ./
- dépôt clonérm -Rf ./.git
- le référentiel n'est plus initialisévi ./somefile
- quelques changements introduits
Sous un aspect plus pratique :
J'ai un répertoire cloné d'une bibliothèque créée par bower
outil de gestion des dépendances.J'ai introduit quelques modifications dans cette bibliothèque et je souhaite maintenant appliquer ces modifications au maître.
Je recherche un moyen intelligent de réinitialiser ce répertoire avec Git et de transmettre les modifications en une seule validation vers le référentiel distant.
La solution
Je recherche un moyen intelligent de réinitialiser ce répertoire avec Git et de transmettre les modifications en une seule validation vers le référentiel distant.
Facile:initialisez-le ailleurs:
cd /path/to/somewhere/else
git clone /url/to/bower
cd bower
Référencez ensuite votre ancien dossier (dans lequel vous avez effectué quelques modifications) en tant qu'arborescence de travail git. pendant que vous êtes dans le nouveau dépôt cloné:
git --work-tree=/path/to/old/folder add .
git commit -m "changes'
git push
Voir le --work-tree
option du git
commande.
En théorie, vous pourriez faire le git clone
directement dans votre ancien dossier avec git clone -n
:
cd /path/to/your/old/folder
git clone -n /url/of/bower .
(Cela pourrait se plaindre que le dossier n'est pas vide, auquel cas faites le git clone -n à l'extérieur et déplacez le dossier .git dans votre ancien dossier)
Mais je préfère garder l'ancien dossier intact et effectuer les opérations liées à git dans un clone séparé.