Dans un dépôt Git, comment renommer un répertoire?

Dans un dépôt Git, comment renommer un répertoire? Je pense qu'il devrait fonctionner pour copier le répertoire pour être renommé à un nouveau répertoire avec le nom désiré, et supprimer l'ancien répertoire , et git add , git commit et push tout. Mais est-ce la meilleure façon de faire?

403
demandé sur Community 2012-06-25 09:15:06

10 réponses

de Base renommer (ou déplacer):

git mv <old name> <new name>

sensible à la casse renommez-eg. de casesensitive à CaseSensitive - vous devez utiliser une deux étape:

git mv casesensitive tmp
git mv tmp CaseSensitive

( en savoir Plus sur le respect de la casse dans Git... )

... suivi de commit et push serait le moyen le plus simple de renommer un répertoire dans un git repo.

704
répondu CB Bailey 2017-05-23 12:18:16

si vous recevez cette erreur: fatal: renommer 'foldername' échoué: argument invalide

essayez ceci:

git mv foldername tempname && git mv tempname folderName

72
répondu Jacques Betancourt 2014-11-26 00:45:40

1. Changer le nom d'un dossier de oldfolder à newfolder

git mv oldfolder newfolder

2. Si le logiciel est déjà dans votre dépôt et que vous souhaitez le modifier et l'utiliser: - force

git mv -f oldfolder newfolder

n'oubliez pas d'ajouter les modifications à index & commit them après avoir renommé avec git mv.

3. Renommer foldername en folderName sur case systèmes de fichiers insensibles

un simple changement de nom avec une commande mv normale (pas git mv) ne sera pas reconnu comme un changement de fil de git. Si vous l'essayez avec la commande’ git mv ' comme dans la ligne suivante

git mv foldername folderName

si vous utilisez un système de fichiers insensible à la casse, par exemple si vous êtes sur un Mac et que vous ne l'avez pas configuré pour qu'il soit sensible à la casse, vous verrez un message d'erreur comme celui-ci:

fatal: renommer ’ foldername 'a échoué: argument invalide

Et voici ce que vous pouvez faire pour le faire fonctionner:-

git mv foldername tempname && git mv tempname folderName

cela divise le processus de renommage en renommant d'abord le dossier en un foldernom complètement différent. Après l'avoir renommé en foldername, le dossier peut finalement être renommé en folderName. Après ces git mv, encore une fois, ne pas oublier d'ajouter et valider les modifications. Bien que ce ne soit probablement pas une belle technique, ça marche parfaitement. Le système de fichiers ne reconnaîtra toujours pas un changement des majuscules, mais git le fait en le renommant en un nouveau nom de fichier, et c'est tout ce que nous voulions :)

32
répondu akshay_rahar 2016-03-04 17:42:06

, Vous pouvez renommer le répertoire en utilisant le système de fichiers. Ensuite, vous pouvez faire git rm <old directory> et git add <new directory> ( page D'aide ). Alors que vous pouvez vous engager et de pousser.

git détectera que le contenu est le même et que c'est juste une opération de renommage, et il apparaîtra comme une entrée de renommage dans l'histoire. Vous pouvez vérifier que c'est le cas avant la propagation en utilisant git status

9
répondu Oleksi 2012-06-25 05:22:21

de L'Application Web Je pense que vous ne pouvez pas, mais vous pouvez renommer tous les dossiers dans le Client Git, il va déplacer vos dossiers dans les nouveaux dossiers renommés, que commit et push au dépôt à distance.

j'ai eu un problème similaire: J'ai dû renommer des dossiers différents de majuscules en minuscules (comme 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é toutes les dossiers au nom d'origine avec la minuscule (comme abc) et il les a pris!

2
répondu Syncro 2016-08-02 09:51:59

pour information, je n'arrêtais pas de recevoir" FAILED \ Access denied " lorsque J'utilisais les options Tortoise ou la ligne de commande pour faire le renommage. Cela ne fonctionne qu'avec l'option la ligne de commande après que j'ai fermé la fenêtre de L'Explorateur.

0
répondu Anonymouse 2017-11-01 14:14:12

sur https://github.com dans leur interface de dépôt:

allez à Paramètres --> Nom du dépôt --> entrez votre nouveau nom dans la zone.

-1
répondu HoCo_ 2018-06-27 23:02:20

je viens de renommer le répertoire et d'ajouter, committed et pushed to remote. Il fonctionne très bien

mv git add new_dir git commit-m" <>" git push

-1
répondu Sharanbr 2018-10-05 09:52:49
git rm -rf --cached path/to/your/directories

puis Ajouter et commit.

-3
répondu dtothefp 2016-02-29 10:23:46

renommez simplement le dossier. git est un "content-tracker", donc les hashs SHA1 sont les mêmes et git sait que vous le renommez. La seule chose qui change est l'arbre-objet.

rm <directory>
git add .
git commit
-9
répondu bitwave 2012-06-25 15:45:22