Git mover archivos

Tabla de contenido

descripción

usar

Descripción

Ejemplo

Precauciones

Mover archivos inexistentes

La ruta de destino del movimiento no existe

Existe un archivo con el mismo nombre en la ruta de destino de la mudanza

Mover archivos fuera del almacén


 

descripción

A diferencia de otros sistemas VCS, Git no rastrea explícitamente las operaciones de movimiento de archivos. Si se cambia el nombre de un archivo en Git, los metadatos almacenados en el almacén no reflejarán que se trata de una operación de cambio de nombre. Pero Git es muy inteligente, inferirá lo que sucedió.

 

usar

Utilice el comando git mv para mover un archivo o directorio a otro, o cámbiele el nombre.

git mv <path> <target_path>
sendero La ruta actual del archivo
target_path Ruta de destino del archivo


 

Descripción

El comando git mv es en realidad una colección del comando mv y el comando git add. Por ejemplo, mueva login.py en el directorio del sistema al directorio de usuarios:

git mv system/login.py user/login.py

Esto es consistente con el efecto del siguiente comando:

mv system/login.py user/login.py
git add user/login.py

 

Ejemplo

Modifique readmd_en.md en el almacén local a readme.md:

$ ll
total 0
drwxr-xr-x    4 liushuochen  staff   128 11 15 15:08 ./
drwxr-xr-x+ 124 liushuochen  staff  3968 11 15 15:09 ../
drwxr-xr-x   12 liushuochen  staff   384 11 15 15:09 .git/
-rw-r--r--    1 liushuochen  staff     0 11 15 15:08 readme_en.md
$ git mv readme_en.md readme.md
$ ll
total 0
drwxr-xr-x    4 liushuochen  staff   128 11 15 15:10 ./
drwxr-xr-x+ 124 liushuochen  staff  3968 11 15 15:10 ../
drwxr-xr-x   12 liushuochen  staff   384 11 15 15:10 .git/
-rw-r--r--    1 liushuochen  staff     0 11 15 15:08 readme.md
$ git commit -m "modify readmd_en.md to readmd.md"
[master aa02620] modify readmd_en.md to readmd.md
 1 file changed, 0 insertions(+), 0 deletions(-)
 rename readme_en.md => readme.md (100%)

 

Precauciones

Mover archivos inexistentes

Al mover un archivo que no existe, el comando git mv informa un error: fatal: fuente incorrecta

$ git mv a.txt b.txt
fatal: bad source, source=a.txt, destination=b.txt

La ruta de destino del movimiento no existe

Cuando la ruta de destino que se va a mover no existe, git mv informa que no existe un directorio de destino de error.

Por ejemplo, en un proyecto con la siguiente estructura de archivos, mueva el archivo readme.md más externo al directorio de configuración (un directorio que no existe):

$ tree .
.
├── conf
│   └── readme.md
└── readme.md

1 directory, 2 files
$ git mv readme.md config/
fatal: destination directory does not exist, source=readme.md, destination=config/

Existe un archivo con el mismo nombre en la ruta de destino de la mudanza

Cuando la ruta de destino que se va a mover tiene un archivo con el mismo nombre que el archivo que se va a mover, git mv informa que existe un destino de error.

Por ejemplo, en un proyecto con la siguiente estructura de archivos, mueva el archivo readme.md más externo al directorio conf:

$ tree .
.
├── conf
│   └── readme.md
└── readme.md

1 directory, 2 files
$ git mv readme.md conf/
fatal: destination exists, source=readme.md, destination=conf/readme.md

Mover archivos fuera del almacén

Intente usar git mv para mover archivos en el almacén fuera del almacén, incluso si la ruta es correcta, git mv aún informará un error:

$ git mv readme.md ../
fatal: '../' is outside repository

 

Supongo que te gusta

Origin blog.csdn.net/TCatTime/article/details/109704102
Recomendado
Clasificación