Dans un dépôt Git, comment renommer un répertoire?
Je pense que cela devrait fonctionner pour copier le répertoire à renommer pour un nouveau répertoire avec le nom de votre choix, et supprimer l'ancien répertoire, et git add
, git commit
et push
tout. Mais est-ce la meilleure façon de faire?
- Double Possible: Comment indiquer à Git que c'est le même répertoire, juste un nom différent
- Aussi loin que Git est concernée, une copie et suppression est la même chose qu'un déplacement. Git va enregistrer à la fois (copie + suppr) et (move) de la même manière.
Vous devez vous connecter pour publier un commentaire.
De base renommer (ou déplacer):
Sensible à la casse renommez—eg. de
casesensitive
àCaseSensitive
—vous devez utiliser deux étapes:(Plus sur le cas de la sensibilité dans le Git...)
...suivi par un commit et push serait le moyen le plus simple pour renommer un répertoire dans un repo git.
casesensitive
àCaseSensitive
, vous pouvez le faire de cette façon:git mv casesensitive Temp
et puisgit mv Temp CaseSensitive
git rm -rf --cached path/to/your/directories
puis ajouter à nouveau et de s'engager-force
à être ajouté à l'original repo - ils être sauté en utilisant cette technique. assurez-vous de vérifier que le fichier compte du match!git bash
en tant qu'Administrateur pour le faire fonctionner.git mv -f casesensitive CaseSensitive
Si vous recevez ce message d'erreur: fatal: le fait de renommer ‘dossier’ failed: Invalid argument
Essayez ceci:
git mv foldername tempname && git mv tempname folderName
git mv foldername tempname
etgit mv tempname folderName
, qui devrait fonctionner sur Windows.1. Modifier un dossier du nom de oldfolder à newfolder
2. Si newfolder est déjà dans votre référentiel & que vous souhaitez remplacer et à utiliser:- force
N'oubliez pas d'ajouter les modifications d'index & valider après le changement de nom avec git mv.
3. Renommage nom du dossier nom du dossier à la casse des systèmes de fichiers
Simple renommage normale avec une commande mv(pas git mv) n'auront pas reconnu comme un filechange à partir de git. Si vous essayez avec le git mv de "commande", comme dans la ligne suivante
Si vous utilisez un système de fichiers sensible à la casse, par exemple, vous êtes sur Mac et que vous n'avez pas le configurer pour être sensible à la casse, vous allez rencontrer un message d'erreur comme celui-ci:
fatale: le fait de renommer ‘dossier’ failed: Invalid argument
Et voici ce que vous pouvez faire pour le faire fonctionner:-
Cette divise le processus de changement de nom en renommant le dossier au premier abord à un tout autre dossier. Après le changement de nom dans les différentes foldername le dossier peut enfin être renommé le nouveau nom du dossier. Après ces git mv est, encore une fois, ne pas oublier d'ajouter et valider les modifications. Si ce n'est probablement pas une très belle technique, il fonctionne parfaitement bien. Le système de fichiers ne sera toujours pas reconnaître un changement de la lettre des cas, mais git n'est due au changement de nom pour un nouveau dossier, et c'est tout ce que nous voulions 🙂
Vous pouvez renommer le répertoire en utilisant le système de fichiers. Ensuite, vous pouvez faire
git rm <old directory>
etgit add <new directory>
(Page d'aide). Alors que vous pouvez vous engager et de pousser.Git va s'apercevoir que le contenu est le même et que c'est juste une opération de changement de nom, et il va apparaître comme un changement de nom entrée dans l'histoire. Vous pouvez vérifier que c'est le cas avant de les valider à l'aide de
git status
D'Application Web, je pense que vous ne pouvez pas, mais vous pouvez renommer tous les dossiers de Client de Git, il permettra de déplacer vos fichiers dans les nouveaux dossiers renommés, que commit et push de dépôt distant.
J'ai eu un problème similaire:
J'ai dû renommer des dossiers différents de majuscules en minuscules (Abc -> abc), j'ai renommé tous les dossiers avec un faux nom (comme " l'abc___') et que commis de dépôt distant, après que j'ai renommé tous les dossiers pour le nom d'origine avec les minuscules (abc) et il leur a fallu!
Je l'ai résolu en deux étapes. Pour renommer le dossier en utilisant la commande mv vous avez besoin de droits pour le faire, si vous n'avez pas droit, vous pouvez suivre ces étapes.
Supposons que vous souhaitez renommer à la casse à la Casse.
Étape 1: Renommer le dossier (à la casse) à quelque chose d'autre à partir de l'explorateur.
par exemple Renommer à la casse pour folder1
commettre ce changement.
Étape 2: Renommer ce nouveau dossier nommé(dossier1) la casse du nom (à la Casse ) par exemple. Renommer folder1 à la Casse.
Commettre ce changement.
Puis ajouter à nouveau et de s'engager.
Il suffit de renommer le dossier. git est un "content-tracker", de sorte que le SHA1 de hachages sont les mêmes et git sait, que vous le renommer. La seule chose qui change est l'arbre-objet.