¿Cómo cambio el nombre de un repositorio Git?

435

git mvcambia el nombre de un archivo o directorio en un repositorio. ¿Cómo cambio el nombre del repositorio de Git?

Yantao Xie
fuente
1
He intentado usar mvpara cambiar el nombre de PROJ0.git en mi `host de repositorios ', funciona. Pero no sé si es correcto, quiero decir, válido.
Yantao Xie
55
Tu pregunta esta bien. Git tiene repositorios y pueden contener proyectos como proyectos Eclipse si decide colocar su proyecto en un repositorio git. Si eso es lo que deseaba, vea cómo hacerlo en la siguiente respuesta.
Danny Remington - OMS
3
gitno tiene ninguna disposición para especificar el nombre del repositorio. El nombre del directorio raíz es la única fuente de verdad relacionada con el nombre del repositorio. Sin .git/descriptionembargo, el archivo solo lo usan algunas aplicaciones comoGitweb
Ujjwal Singh

Respuestas:

620

Hay varias interpretaciones posibles de lo que significa renombrar un repositorio de Git: el nombre mostrado, el directorio del repositorio o el nombre del repositorio remoto. Cada uno requiere diferentes pasos para cambiar el nombre.

Nombre mostrado

Cambie el nombre del nombre que se muestra (por ejemplo, mostrado por gitweb):

  1. Editar .git/descriptionpara contener el nombre del repositorio.
  2. Guarda el archivo.

Directorio de repositorios

Git no hace referencia al nombre del directorio que contiene el repositorio, como lo usa git clone master child, por lo que simplemente podemos cambiarle el nombre:

  1. Abra un símbolo del sistema (o la ventana del administrador de archivos).
  2. Cambie al directorio que contiene el directorio del repositorio (es decir, no entre en el directorio del repositorio).
  3. Cambie el nombre del directorio (por ejemplo, mvdesde la línea de comandos o la F2tecla de acceso rápido desde una GUI).

Repositorio remoto

Cambie el nombre de un repositorio remoto de la siguiente manera:

  1. Vaya al host remoto (por ejemplo, https://github.com/User/project ).
  2. Siga las instrucciones del host para cambiar el nombre del proyecto (diferirá de un host a otro, pero generalmente la Configuración es un buen punto de partida).
  3. Vaya a su directorio de repositorio local (es decir, abra un símbolo del sistema y cambie al directorio del repositorio).
  4. Determine la nueva URL (por ejemplo, [email protected]:User/project-new.git)
  5. Establezca la nueva URL usando Git:

    git remote set-url origin [email protected]:User/project-new.git
    
Alex Brown
fuente
3
En el segundo caso, ¿qué le sucede a quien ya clonó el repositorio?
Frederico Schardong
3
Nada mal. Conservan el nombre original, pero su control remoto ahora está equivocado: si quieren obtener actualizaciones, necesitan conectarse al nuevo nombre. Si tanto usted como ellos están sincronizando o un repositorio central, retendrá el nombre original y todo continuará funcionando
Alex Brown
14
Tenga en cuenta que la afirmación "git no hace referencia a este nombre de directorio" en el segundo caso es incorrecta si usa submódulos: git usa una ruta absoluta para referirse a submódulos, por lo que renombrar su directorio de repositorio romperá los submódulos. Ver stackoverflow.com/questions/10144149/…
Edward
Estoy usando la GUI de GitHub para Windows, y no tuve que cambiar el archivo .git / description (no tengo uno). El nombre que se muestra en la GUI cambió después de que hice el último paso para restablecer el origen.
Joe Ernst
44
La gente sigue mencionando .git / description, pero sin mencionar qué cambio
realizaste
24

Un repositorio de Git no tiene nombre. Puede cambiar el nombre del directorio que contiene su árbol de trabajo si lo desea.

Tobu
fuente
77
Sí, un repositorio de git tiene un nombre. Recibí este error después de cambiar el nombre:$ git status fatal: Not a git repository: C:/xxx/.git/xxx fatal: git status --porcelain failed
Sawny
@Sawny, no veo qué tiene que ver eso con nada.
Tobu
19
Dijiste que un repositorio git no tiene nombre, pero eso no es cierto. Si usa submoduels y simplemente cambia el nombre de la carpeta, obtendrá errores de git. Ver stackoverflow.com/questions/9878860/…
Sawny
66
De acuerdo, la ruta de un submódulo dentro de un repositorio git es importante. Es cierto pero no relevante para esta pregunta en particular.
Tobu
55
Por supuesto, los repositorios tienen un nombre. Vea a continuación cómo cambiarlo.
Danny Remington - OMS
19

Cambie el nombre PRJ0.gita PROJ1.git, luego edite la variable URL ubicada en el .git/configarchivo de su proyecto.

Alex
fuente
15

En un nuevo repositorio, por ejemplo, después de un $ git init , el directorio .git contendrá el archivo .git / description.

Que se ve así:

Unnamed repository; edit this file 'description' to name the repository.

Editar esto en el repositorio local no lo cambiará en el control remoto.

mholm815
fuente
La respuesta de Alex Brown había incluido tu.
Yantao Xie
13

Si se refería a cambiar el nombre de su repositorio, vaya a su repositorio y haga clic en "admin", luego cambie el nombre.

Una vez que vea el cuadro rojo que le advierte sobre la caída del cielo y otras cosas, lea esta pregunta .

Droogans
fuente
12
Podría ayudar a otros a notar que esta es una sugerencia específica de Github, y no se aplicará a Git en general.
founddrama
1
a partir de enero de 2013, las instrucciones de github ahora deberían ser: (inicie sesión en github), vaya a su repositorio, luego vaya a "Configuración" >> "Opciones" y busque un botón Cambiar nombre allí. Con respecto a las advertencias rojas sobre cosas malas que suceden, los Droogans se vinculan con el otro, por lo que la pregunta aún es muy recomendable.
pesófago el
12

Para cambiar el nombre de cualquier repositorio de su cuenta de GitHub:

  1. Vaya a ese repositorio particular al que desea cambiar el nombre.
  2. Navega a la pestaña de configuración
  3. Allí, en la sección de nombre del repositorio, escriba el nuevo nombre que desea poner y haga clic Rename
Neha Kumari
fuente
No es una pregunta de GitHub, se trata de git.
robrecord
10

Si está utilizando GitLab o GitHub, puede modificar esos archivos gráficamente.

Usando GitLab

Vaya a la configuración de su proyecto . Allí puede modificar el nombre del proyecto y lo más importante, puede cambiar el nombre de su repositorio (es cuando comienza a entrar en la sección de peligro).

Una vez hecho esto, las configuraciones de los clientes locales deben actualizarse utilizando

git remote set-url origin sshuser@gitlab-url:GROUP/new-project-name.git
avi.elkharrat
fuente
9
  • En el lado del servidor, simplemente cambie el nombre del repositorio con el comando mv como de costumbre:

    mv oldName.git newName.git
    
  • Luego, en el lado del cliente, cambie el valor de la [remote "origin"]URL a la nueva:

    url=example.com/newName.git
    

Funcionó para mi.

Parison
fuente
8

Si está en Eclipse y ha instalado Egit, puede cambiar el nombre del repositorio que contiene un proyecto haciendo lo siguiente:

1) En Eclipse : cierre todos los proyectos que están en el repositorio.

2) En el sistema de archivos : busque el directorio / carpeta que contiene el repositorio.

3) En el sistema de archivos : cambie el nombre del directorio / carpeta que contiene el repositorio.

4) En el sistema de archivos : abra el directorio / carpeta que contiene el repositorio y cambie el nombre del directorio / carpeta del proyecto de cualquier proyecto que desee cambiar para que coincida con el nuevo nombre del proyecto. (Esto no es obligatorio, pero da coherencia entre el nombre del proyecto en Eclipse y el directorio / carpeta del proyecto en el repositorio).

5) En Eclipse : elimine todos los proyectos que están en el repositorio, pero asegúrese de NO marcar la casilla de verificación 'Eliminar el contenido del sistema de archivos'. (El proyecto ya no debe contener la ubicación correcta del contenido del sistema de archivos, por lo que los datos no se pueden eliminar en ningún caso, pero es mejor prevenir que curar).

6) En Eclipse : desde el menú, seleccione la opción Archivo | Importar ...

7) En Eclipse : en el cuadro de diálogo, abra la carpeta 'Git', seleccione 'Proyectos desde Git' y haga clic en 'Siguiente'.

8) En Eclipse : en el cuadro de diálogo, seleccione 'Local' y haga clic en 'Siguiente'.

9) En Eclipse : en el cuadro de diálogo, haga clic en el botón 'Agregar ...'.

10) En Eclipse : en el cuadro de diálogo, asegúrese de que la casilla de verificación junto al repositorio esté marcada y haga clic en 'Finalizar'.

11) En Eclipse : en el cuadro de diálogo, seleccione el repositorio y haga clic en 'Siguiente'.

12) En Eclipse : en el cuadro de diálogo, seleccione el botón de opción "Importar proyectos existentes", seleccione el "Directorio de trabajo" y haga clic en "Siguiente".

13) En Eclipse : en el cuadro de diálogo, marque la casilla de verificación junto a los proyectos en los que desea trabajar y haga clic en 'Finalizar'.

14) En Eclipse : Cambie el nombre de los proyectos que están en el repositorio si así lo desea. (Para mantener la coherencia entre Eclipse y el sistema de archivos, asígneles el mismo nombre que el directorio / carpeta del proyecto dentro del directorio / carpeta del repositorio).

Danny Remington - OMS
fuente
+1 (divertido y no sorprendido por los 14 pasos necesarios para esto en Eclipse, especialmente el 'si has instalado Egit', que implica unas pocas docenas de pasos más ...)
Jack Wasey
7

Git en sí no tiene ninguna disposición para especificar el nombre del repositorio. El nombre del directorio raíz es la única fuente de verdad relacionada con el nombre del repositorio.

El .git/descriptionembargo es utilizado sólo por algunas aplicaciones, como GitWeb .

Ujjwal Singh
fuente
5

Para usuarios de Amazon AWS codecommit ,

aws codecommit update-repository-name --old-name MyDemoRepo --new-name MyRenamedDemoRepo

Referencia: aquí

Extremo
fuente
4

Para ser simple, simplemente elimine ese Proyecto Eclipse (no elija el contenido en el disco), luego vuelva a importar el proyecto nuevamente.

Eclipse identificará el proyecto conectado a Git y lo pondrá en la vista en perspectiva de Git.

Funciona a las mil maravillas.

Ricardo
fuente
55
Esto no responde a la pregunta original.
mjuarez
¿Es esta respuesta un comentario para Danny Remington - la respuesta de OMS ?
Peter Mortensen
4

Con Github como control remoto

Cambiar el nombre del repositorio remoto en Github

Con respecto al repositorio remoto, si está utilizando Github o Github Enterprise como la ubicación del servidor para guardar / distribuir su repositorio de forma remota, simplemente puede cambiar el nombre del repositorio directamente en la configuración del repositorio.

Desde la página principal del repositorio, la pestaña de configuración está a la derecha, y el nombre del repositorio es el primer elemento de la página:

ingrese la descripción de la imagen aquí

Github redirigirá las solicitudes a la nueva URL

Una característica muy agradable en Github cuando cambia el nombre de un repositorio es que Github guardará el antiguo nombre del repositorio y todas las URL relacionadas y redirigirá el tráfico a las nuevas URL . Como su nombre de usuario / organización y nombre de repositorio son parte de la URL, un cambio de nombre cambiará la URL.

Dado que Github guarda el antiguo nombre del repositorio y redirige las solicitudes a las nuevas URL, si alguien utiliza enlaces basados ​​en el antiguo nombre del repositorio al intentar acceder a problemas, wiki, estrellas o seguidores, aún llegarán a la nueva ubicación en el sitio web de Github. Github también redirige nivel inferior comandos de Git como git clone, git fetch, etc.

Más información está en la Ayuda de Github para Renombrar un Repo

Renombrar el nombre del repositorio local

Como otros han mencionado, el "nombre" local de su repositorio generalmente se considera la carpeta raíz / nombre del directorio, y puede cambiarlo, moverlo o copiar la carpeta a cualquier ubicación y no afectará en absoluto al repositorio.

Git está diseñado para preocuparse solo por los archivos dentro de la carpeta raíz.

LightCC
fuente
"si alguien usa enlaces basados ​​en el antiguo nombre del repositorio ... aún llegarán a la nueva ubicación en el sitio web de Github". Sí, existe tal característica. Lo mismo es válido para BitBucket: community.atlassian.com/t5/Bitbucket-questions/… . Sería bueno saber cómo destruir completamente cualquier referencia al antiguo nombre, porque entiendo que no se trata de renombrar, sino de copiar. Sería bueno saber el procedimiento correcto para el cambio de nombre completo (con la destrucción de todas las cosas viejas).
Alexander Samoylov
@AlexanderSamoylov Estoy adivinando aquí, pero dudo sinceramente que algo se guarde en el formato anterior. Github debería mantener el antiguo nombre de archivo reservado y redirigir cualquier tráfico que ingrese en el nombre de archivo antiguo al nuevo nombre de archivo. es decir https://github.com/oldrepo/some_path, solo se redirigirá a https://github.com/newrepo/some_pathdonde se ha movido todo El único inconveniente debería ser que el antiguo nombre del repositorio esté permanentemente reservado para que no se pueda reutilizar (también es bueno para evitar que las personas que han guardado la antigua URL accedan a él).
LightCC
3

El cambio de nombre principal está aquí (img 1), pero también cambia readme.md (img 2)

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

CENIZA
fuente
77
La pregunta es sobre git en lugar de github.
Yantao Xie
no
cambió el
2
  1. Vaya al host remoto (por ejemplo, https://github.com/<User>/<Project>/ ).
  2. Haga clic en la pestaña Configuración .
  3. Cambie el nombre bajo el nombre del repositorio (y presione el botón Rename).
akulich
fuente
0

Abra el repositorio de git en el navegador, acceda a "Configuración", puede ver el botón para cambiar el nombre.

Ingrese el nuevo "Nombre del repositorio" y haga clic en el botón "Cambiar nombre".

bshr
fuente
0

¿Has intentado cambiar el nombre de tu proyecto package.jsony ejecutar el comando git initpara reinicializar el Git existente?

Su historial de Git existente seguirá existiendo.

Priyabagus
fuente