2011-07-31 26 views
62

Soy nuevo en Git/Github y necesito ayuda. Me gustaría cambiar el nombre del archivo de README a README.md. Tengo solo un informe llamado "change-z-index".Renombrar archivo con Git

1) Abro y de ingreso de esa manera:

ssh -T [email protected] 

Y entro en mi frase de contraseña.

2) Trato de cambiar el nombre del archivo así:

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

Me da un error que dice mala fuente.

Creo que necesito seleccionar primero mi repositorio ... su nombre es "change-z-index". He leído el manual muchas veces, pero todavía no puedo entender cómo hacerlo.

+0

¿'README' definitivamente ya está bajo control de git? El error que está recibiendo sugiere que "README" no existe o que no está en el índice de git. –

+0

@Charles Bailey Puedo ver el archivo léame en mi repositorio cuando visito la página web de Github –

+0

No estoy familiarizado con los detalles de github, pero ¿dónde intentas cambiar el nombre del archivo en tu clon local o en el propio servidor github? ? –

Respuesta

108

Por lo que yo sé, GitHub no proporciona acceso de shell, por lo que tengo curiosidad acerca de cómo se las arregló para iniciar sesión en primer lugar.

$ ssh -T [email protected] 
Hi username! You've successfully authenticated, but GitHub does not provide 
shell access. 

Tienes que clonar tu repositorio localmente, hacer el cambio allí, y presionar el cambio a GitHub.

$ git clone [email protected]:username/reponame.git 
$ cd reponame 
$ git mv README README.md 
$ git commit -m "renamed" 
$ git push origin master 
+11

Solo agrego para noobs como yo que _utilizando 'git mv' cambia automáticamente el nombre del archivo en tu computadora_. Traté de guardar el archivo como un nombre diferente primero antes de usar 'git mv' y me encontré con el error' fatal: destination exists' debido a este tonto error. – MichaelChirico

25

puede cambiar el nombre de un archivo usando git 's mv comando:

$ git mv file_from file_to 

Ejemplo:

$ 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%) 
+1

Me da un error: fuente incorrecta, fuente = README, destination = README.md –

+0

¿Está tratando de cambiar el nombre en el repositorio github.com, o en su repositorio local? – jaredwilli

+0

Si intenta cambiar el nombre en github, debe eliminarlo del repositorio local, $ rm file_name. hacer una confirmación, luego volver a agregar ese archivo al repositorio bajo el nombre que desea cambiar y confirmarlo. Los archivos de origen y de destino no coinciden, por lo que es un error. Creo que eso es lo que es de todos modos ... – jaredwilli

3

Hacer un git status para averiguar si el archivo es realmente en su índice o la confirmación.

Es fácil para un principiante malinterpretar el área de índice/estadificación.

Lo veo como un "tablero de progreso". Por lo tanto, tengo que add el archivo en el tablón de anuncios antes de que pueda commit (es decir, una copia del tablón de anuncios completo), tengo que actualizar el tablón de anuncios cuando sea necesario, y también tengo que eliminar archivos deliberadamente cuando termino ellos - simplemente crear, editar o eliminar un archivo no afecta al tablero. Es como 'storyboard'.

Editar: Como otros señalaron, debe hacer las ediciones localmente y luego presionar el repositorio actualizado, en lugar de intentar editar directamente en github.

1

Tienes "Mal estado" es porque el archivo de destino no puede encontrar o no está presente, como por ejemplo se llama archivo README que no está en el directorio actual.

+0

De hecho, este era mi problema. Había olvidado cambiar el directorio actual a donde estaba el archivo. – TheIT

41

Tenga en cuenta que, desde el 15 de marzo de 2013, se puede move or rename a file directly from GitHub:

(que ni siquiera es necesario que para clonar repo, git mv xxgit push y volver a GitHub!)

renaming

You can also move files to entirely new locations using just the filename field.
To navigate down into a folder, just type the name of the folder you want to move the file into followed by / .
The folder can be one that’s already part of your repository, or it can even be a brand-new folder that doesn’t exist yet!

moving

+3

Solo funciona para el archivo que GitHub puede editar. No para archivos como archivos de imagen. – A9S6

+0

@ A9S6 Es cierto que tiene sentido, ya que su contenido no se muestra (como texto) de todos modos. – VonC

+4

Sí, pero al menos se debe permitir el cambio de nombre de su nombre :) – A9S6

3

tuve un problema similar que va a través de un tutorial.

# git mv README README.markdown 

fatal: mala fuente, fuente = README, destino = README.markdown

que incluye el tipo de archivo en el archivo de origen:

# git mv README.rdoc README.markdown 

y funcionó perfectamente. No se olvide de realizar los cambios con, por ejemplo:

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

A veces son pequeñas cosas simples, que nos cabrean. LOL