Je pense que cela devrait fonctionner pour copier le répertoire à renommer dans un nouveau répertoire avec le nom souhaité, et supprimer l'ancien répertoire , et git add
, git commit
et push
tout. Mais est-ce la meilleure façon?
655
Réponses:
Renommer (ou déplacer) de base:
Renommer sensible à la casse, par exemple. de
casesensitive
à -CaseSensitive
vous devez suivre deux étapes:(En savoir plus sur la sensibilité à la casse dans Git… )
… Suivi de commit et push serait le moyen le plus simple de renommer un répertoire dans un dépôt git.
la source
casesensitive
àCaseSensitive
, vous pouvez le faire de cette façon:git mv casesensitive Temp
puisgit mv Temp CaseSensitive
git rm -rf --cached path/to/your/directories
ajoutez-le etgit config core.ignorecase false
puis exécuter les commandes successivement, sinon, pour la deuxième partie, j'obtiendrais unesource is empty
erreur.Si vous recevez cette erreur: fatal: échec du changement de nom de "nom de dossier": argument non valide
Essaye ça:
git mv foldername tempname && git mv tempname folderName
la source
git mv foldername tempname
etgit mv tempname folderName
, qui devrait fonctionner sous Windows.1. Changez le nom d'un dossier de oldfolder en newfolder
2. Si newfolder est déjà dans votre référentiel et que vous souhaitez le remplacer et utiliser: - force
N'oubliez pas d'ajouter les modifications à l'index et de les valider après avoir renommé avec git mv.
3. Renommer le nom de dossier en nom de dossier sur les systèmes de fichiers insensibles à la casse
Un simple changement de nom avec une commande mv normale (pas git mv) ne sera pas reconnu comme un changement de fichier de git. Si vous l'essayez avec la commande 'git mv' comme dans la ligne suivante
Si vous utilisez un système de fichiers insensible à la casse, par exemple, vous êtes sur un Mac et vous ne l'avez pas configuré pour être sensible à la casse, vous verrez un message d'erreur comme celui-ci:
fatal: échec du changement de nom de "nom de dossier": argument non valide
Et voici ce que vous pouvez faire pour le faire fonctionner: -
Cela divise le processus de changement de nom en renommant d'abord le dossier en un nom de dossier complètement différent. Après l'avoir renommé en un autre nom de dossier, le dossier peut enfin être renommé en nouveau nom de dossier. Après ces git mv, encore une fois, n'oubliez pas d'ajouter et de valider les modifications. Bien que ce ne soit probablement pas une belle technique, cela fonctionne parfaitement bien. 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 dossier, et c'est tout ce que nous voulions :)
la source
Vous pouvez renommer le répertoire à l'aide du système de fichiers. Ensuite, vous pouvez faire
git rm <old directory>
etgit add <new directory>
( page d'aide ). Ensuite, vous pouvez vous engager et pousser.Git détectera que le contenu est le même et qu'il ne s'agit que d'une opération de renommage, et il apparaîtra comme une entrée de renommage dans l'historique. Vous pouvez vérifier que c'est le cas avant la validation en utilisant
git status
la source
Depuis l'application Web, je pense que vous ne pouvez pas, mais vous pouvez renommer tous les dossiers dans Git Client, il déplacera vos fichiers dans les nouveaux dossiers renommés, puis valider et pousser vers le référentiel distant.
J'ai eu un problème très similaire: j'ai dû renommer différents dossiers de majuscules en minuscules (comme Abc -> abc), j'ai renommé tous les dossiers avec un nom fictif (comme 'abc___') et je me suis engagé dans un référentiel distant, après que j'ai renommé tous les dossiers au nom d'origine avec les minuscules (comme abc) et il les a pris!
la source
Je l'ai résolu en deux étapes. Pour renommer un dossier à l'aide de la commande mv, vous devez disposer de droits pour le faire, si vous n'en avez pas le droit, vous pouvez suivre ces étapes. Supposons que vous souhaitiez renommer la sensibilité à la casse en sensible à la casse.
Étape 1: renommer le dossier (sensible à la casse) en quelque chose d'autre depuis l'explorateur. Par exemple, Renommer la casse en dossier1 valide cette modification.
Étape 2: Renommez ce dossier nouvellement nommé (dossier1) au nom sensible à la casse attendu (sensible à la casse), par exemple. Renommez le dossier1 en sensible à la casse. Validez ce changement.
la source
Pour le changement de nom sensible à la casse, cela
git mv somefolder someFolder
a fonctionné pour moi avant mais pas aujourd'hui pour une raison quelconque. Donc, comme solution de contournement, j'ai créé un nouveau dossiertemp
, déplacé tout le contenu desomefolder
danstemp
, supprimésomefolder
, validé letemp
, puis créésomeFolder
, déplacé tout le contenu detemp
danssomeFolder
, supprimétemp
, validé et poussésomeFolder
et cela a fonctionné! Apparaît commesomeFolder
dans git.la source
Renommez simplement le dossier. git est un "content-tracker", donc les hachages SHA1 sont les mêmes et git sait que vous le renommez. La seule chose qui change est l'arbre-objet.
la source