
el git fetch
El comando te permite mirar antes de saltar. Puede descubrir qué cambios se han realizado en un repositorio remoto, pero sin sobrescribir sus archivos locales con los archivos remotos.
¿Qué es git fetch y qué hace?
Git buscar vs tirar
Sincroniza tus repositorios locales y remotos con git fetch
Ver todas las etiquetas obtenidas
Hacer una carrera en seco primero
Cómo obtener una sola rama
Obtener todas las sucursales
Comparación de sucursales locales y remotas
Sincronización de una sucursal local con una sucursal remota
El cachorro a medio entrenar
¿Qué es git fetch y qué hace?
El fetch
El comando en Git descarga confirmaciones, archivos y otra información desde un repositorio remoto a su repositorio local, de forma segura. Use fetch cuando desee ver qué cambios han realizado otros desarrolladores, sin verse obligado a aceptar los cambios. Sus archivos locales permanecen intactos. ¿Por qué es eso importante?
Tienes que mantener tu ingenio sobre ti cuando trabajas como parte de un equipo de desarrollo. El repositorio remoto o central contendrá cambios y nuevas ramas que otros desarrolladores han creado y enviado al repositorio remoto.
Es muy posible que alguien haya actualizado la copia remota de los archivos que ha modificado localmente en su computadora. Si casualmente realiza una git pull
para actualizar su repositorio local, es probable que se encuentre manejando fusiones para cambios que quizás ni siquiera desee.
Una vez que haya descargado la información, puede examinarla y ver cuáles son los cambios. Esto le permite tomar una decisión informada sobre lo que desea fusionar en este momento, en todo caso, y lo que desea diferir hasta más adelante.
Git buscar vs tirar
El git fetch
El comando se comporta como el git pull
mando pero sin el paso que sobrescribe sus archivos locales. Su repositorio local se actualiza y sincroniza, pero los cambios no se escriben en el estado de funcionamiento de su repositorio local, por lo que sus archivos permanecen intactos.
O, dicho de otro modo, el git pull
El comando es como un git fetch
seguido inmediatamente por un git merge
.
Sincroniza tus repositorios locales y remotos con git fetch
Para obtener todos los metadatos actualizados y confirmaciones de un repositorio remoto a su repositorio local, use el git fetch
comando con el nombre o URL del repositorio remoto. De forma predeterminada, el primer repositorio remoto se llama “origen”.
git fetch origin
Puede omitir la palabra “origen” si está trabajando con un solo repositorio remoto.
git fetch
Eso recupera cualquier actualización del repositorio de “origen”, pero no fusiona los cambios en los archivos de trabajo. Podemos ver que hay una nueva rama, llamada “nueva rama”, que se ha recuperado para nosotros.
Una vez que hayas usado el fetch
comando, puede ver la lista completa de sucursales en el control remoto, usando -r
(remoto) con el comando branch.
git branch -r
Esto enumera todas las sucursales que conoce el control remoto, que después de la fetch
también están en su repositorio local.
Ver todas las etiquetas obtenidas
Del mismo modo, puede utilizar el tag
(nota, es “etiqueta” sin “s”) para ver la lista de etiquetas.
git tag
RELACIONADO: Cómo cambiar, agregar y eliminar controles remotos de Git
Hacer una carrera en seco primero
Aunque un git fetch
no fusiona los cambios en sus archivos de trabajo, aún actualiza su repositorio local. Si quieres ver qué cambia el fetch
ejecutará el comando, sin hacerlos realmente, use el --dry-run
opción.
git fetch --dry-run
Cómo obtener una sola rama
Obtener información sobre una sola sucursal es fácil. Agregue el nombre de la rama a la línea de comando para indicar fetch
solo necesita saber acerca de esa rama.
Aquí, estamos diciendo fetch
para recuperar la rama “mary-feature” del repositorio remoto “origen”.
git fetch origin mary-feature
Ahora que los detalles y el contenido de la rama remota están en su repositorio local, puede usar el git checkout
Comando para crear una nueva sucursal y verificar la sucursal remota. Esto no sobrescribirá ningún archivo existente si es la primera vez que usa esta rama.
git checkout -b mary-feature origin/mary-feature
Obtener todas las sucursales
Si usa varios controles remotos, puede ahorrar tiempo extrayendo todos los cambios de todas las sucursales a su repositorio local usando el --all
opción.
git fetch --all
Comparación de sucursales locales y remotas
Para ver cómo los archivos en una rama remota difieren de sus copias locales, use git fetch
luego usa el git log
dominio.
Tenga en cuenta que las sucursales locales y remotas tienen dos períodos “..
” separándolos. El --oneline
La opción muestra el identificador de confirmación y el mensaje de confirmación.
git fetch
git log --oneline mary-feature..origin/mary-feature
La visualización de una línea es útil si una rama contiene muchos cambios. Para ver un poco más de información, omita el --oneline
opción.
git log mary-feature..origin/mary-feature
Esto nos muestra la hora y la fecha de cada confirmación, junto con el mensaje de confirmación y los datos de contacto del autor del cambio.
Sincronización de una sucursal local con una sucursal remota
Si ha decidido que desea continuar y fusionar los cambios de la rama remota con sus archivos de trabajo locales, puede usar estos comandos.
Verificaremos la sucursal para asegurarnos de que estamos trabajando, es nuestra sucursal actual y en funcionamiento.
git checkout mary-feature
La rama está verificada para nosotros y se nos dice que está detrás de la versión remota. Nosotros podemos usar git pull
para actualizarlo, entonces git status
para comprobar nuestro estado.
git pull
git status
Si hemos realizado algunos cambios en nuestros archivos locales, Git nos informa cuando revisamos la rama que necesitaremos realizar un git pull
para iniciar una fusión.
git checkout mary-feature
Un simple git pull
inicia el proceso de recuperación de archivos y fusión, o podemos sumergirnos y usar git merge
sí mismo. Comenzaremos por asegurarnos de que estamos trabajando con la rama correcta
git checkout mary-feature
Bien dicho git
para fusionar nuestra rama actual con la rama en el repositorio remoto, hay seis compromisos diferentes que deben resolverse.
Necesitamos decirle a Git qué rama remota queremos fusionar.
git merge origin/mary-feature
Se abre un editor que nos permite proporcionar un mensaje de confirmación. Podemos aceptar el mensaje sugerido, o agregar el nuestro. El editor es su editor predeterminado a menos que Git se haya configurado para usar un editor diferente.
Guarde sus cambios cuando esté listo para continuar. La combinación continúa automáticamente cuando se cierra el editor.
Nuestra fusión fue exitosa porque no hubo conflictos.
Los conflictos surgen cuando dos o más desarrolladores modifican las mismas líneas de código. Si ese es el caso, Git marca los conflictos en el archivo afectado. Deberá revisarlos uno por uno y elegir qué cambio desea conservar.
El cachorro a medio entrenar
Como un cachorro en entrenamiento, fetch
recuperará lo que pidas, pero no lo dejará. Si realmente quieres lo que el cachorro te ha mostrado, tendrás que pull
.
RELACIONADO: Git rebase: Todo lo que necesitas saber
0 Comments