137 votes

Renommer un fichier avec Git

Je souhaite renommer un fichier de README à README.md . Quelle est la meilleure pratique pour y parvenir ?


Je n'ai qu'un seul répertoire appelé "change-z-index".

  1. J'ouvre et je me connecte comme ça :

    ssh -T git@github.com

Et j'entre ma phrase d'authentification.

  1. J'essaie de renommer le fichier de cette manière :

    git mv README README.md git commit -m "renommé" git push origin master

Le message d'erreur suivant s'affiche mauvaise source.

Je pense que je dois d'abord sélectionner mon repo... son nom est "change-z-index". J'ai lu le manuel plusieurs fois, mais je n'arrive toujours pas à comprendre comment faire.

186voto

hammar Points 89293

Pour autant que je sache, GitHub ne fournit pas d'accès au shell, donc je suis curieux de savoir comment vous avez réussi à vous connecter en premier lieu.

$ ssh -T git@github.com
Hi username! You've successfully authenticated, but GitHub does not provide
shell access.

Vous devez cloner votre dépôt localement, y apporter les modifications et les envoyer sur GitHub.

$ git clone git@github.com:username/reponame.git
$ cd reponame
$ git mv README README.md
$ git commit -m "renamed"
$ git push origin master

70voto

jaredwilli Points 2215

Vous pouvez renommer un fichier en utilisant git 's mv commande :

$ git mv file_from file_to

Exemple :

$ git mv helo.txt hello.txt

$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   renamed:    helo.txt -> hello.txt
#

$ git commit -m "renamed helo.txt to hello.txt"
[master 14c8c4f] renamed helo.txt to hello.txt
 1 files changed, 0 insertions(+), 0 deletions(-)
 rename helo.txt => hello.txt (100%)

46voto

VonC Points 414372

Notez qu'à partir du 15 mars 2013, vous pouvez déplacer ou renommer un fichier directement depuis GitHub :

(vous n'avez même pas besoin de cloner ce repo, git mv xx y git push retour à GitHub !)

renaming

Vous pouvez également déplacer des fichiers vers de nouveaux emplacements en utilisant uniquement le champ du nom de fichier.
Pour naviguer dans un dossier, il suffit de taper le nom du dossier dans lequel vous voulez déplacer le fichier, suivi de / .
Il peut s'agir d'un dossier qui fait déjà partie de votre référentiel ou d'un tout nouveau dossier qui n'existe pas encore !

moving

8voto

Chris Howard Points 91

J'ai eu un problème similaire en suivant un tutoriel.

# git mv README README.markdown

fatal : bad source, source=README, destination=README.markdown

J'ai inclus le type de fichier dans le fichier source :

# git mv README.rdoc README.markdown

et cela a fonctionné parfaitement. N'oubliez pas de valider les modifications avec i.e. :

# git commit -a -m "Improved the README"

Parfois, ce sont de simples petites choses comme ça qui nous énervent. LOL

4voto

Philip Oakley Points 3825

Faire un git status pour savoir si votre fichier se trouve dans votre index ou dans le commit.

En tant que débutant, il est facile de se méprendre sur l'index/la zone de transit.

Je le considère comme un "tableau d'affichage des progrès". Je dois donc add le fichier sur le tableau d'épingles avant que je puisse commit (c'est-à-dire une copie du pinboard complet), je dois mettre à jour le pinboard lorsque c'est nécessaire, et je dois également supprimer délibérément des fichiers lorsque j'en ai terminé avec eux - le simple fait de créer, d'éditer ou de supprimer un fichier n'a pas d'incidence sur le pinboard. C'est comme un "storyboard".

Edit : Comme d'autres l'ont noté, vous devriez faire les éditions localement et ensuite pousser le repo mis à jour, plutôt que d'essayer d'éditer directement sur github.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X