0% encontró este documento útil (0 votos)
5 vistas8 páginas

Python Tema3 Parte5 v2

El documento proporciona una introducción a Git y GitHub, explicando comandos esenciales como 'push', 'pull', 'fork' y 'clone'. Se detallan las funciones de cada comando, su sintaxis y diferencias, así como el proceso para realizar un fork en GitHub y cómo manejar cambios en repositorios. Además, se aclara la diferencia entre un fork y un clone, enfatizando la necesidad de un fork para contribuir a repositorios que no son de propiedad del usuario.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
5 vistas8 páginas

Python Tema3 Parte5 v2

El documento proporciona una introducción a Git y GitHub, explicando comandos esenciales como 'push', 'pull', 'fork' y 'clone'. Se detallan las funciones de cada comando, su sintaxis y diferencias, así como el proceso para realizar un fork en GitHub y cómo manejar cambios en repositorios. Además, se aclara la diferencia entre un fork y un clone, enfatizando la necesidad de un fork para contribuir a repositorios que no son de propiedad del usuario.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 8

IBM SkillsBuild | Introducción a Python

Git y Github
Push, pull, fork, clone

1
IBM SkillsBuild | Introducción a Python

Índice

Push 3
Uso de git push 4
Pull 5
Uso de git pull 5

Fork 6
Operativa de Pull request 6
Cómo hacer un fork en GitHub 6

Clone 7

Diferencia entre fork y clone 8

2
IBM SkillsBuild | Introducción a Python

Push

El comando git push se usa para cargar contenido del


repositorio local a un repositorio remoto. El envío es
la forma de transferir confirmaciones desde tu
repositorio local a un repositorio remoto.

git push se usa sobre todo para publicar y cargar


cambios locales a un repositorio central. Después de
modificar el repositorio local, se ejecuta un envío
para compartir las modificaciones con los demás
miembros del equipo.

3
IBM SkillsBuild | Introducción a Python

Uso de git push La marca --force anula este comportamiento y hace


que la rama del repositorio remoto coincida con la
La sintaxis para el uso del comando push es: local, y se eliminan así todos los cambios en el
repositorio remoto que se hayan producido desde
git push <remote> <branch>
que realizamos la última incorporación de cambios.

La única situación en la que podríamos tener que


miPC@miPC MINGW64 /g/WORKSPACE/011
GitHub/Proyecto GIT (master) forzar el envío es cuando nos damos cuenta de que
$ git push las confirmaciones que acabamos de compartir no
están del todo bien y las corregimos mediante
Everything up-to-date cambios manuales o usando el comando:

git commit --amend

No obstante, antes de usar la opción --force,


Envía la rama especificada a una , junto con todos los
debemos tener la certeza absoluta de que ninguno de
commits y objetos internos necesarios. De este modo
nuestros compañeros de equipo ha incorporado los
se crea una rama local en el repositorio de destino.
cambios de esas confirmaciones.
Para evitar que se sobrescriban los commits, Git no
nos permitirá enviarlos cuando el resultado en el git push <remote> --all
repositorio de destino sea un posible conflicto con un
archivo ya existente. Envía todas nuestras ramas locales a una rama
remota especificada.
git push <remote> --force
git push <remote> --tags
Es igual que el comando anterior, pero fuerza el envío
incluso si el resultado es una fusión con posibles Las etiquetas no se envían automáticamente cuando
conflictos. enviamos una rama o usamos la opción --all. La
marca --tags envía todas las etiquetas locales al
No debemos usar --force a menos de que tengamos repositorio remoto.
absoluta certeza de lo que estamos haciendo.

Git evita que sobrescribamos el historial del


repositorio central al negarse a enviar solicitudes
cuando el resultado es una fusión con posibles
conflictos. De este modo, si el historial remoto difiere
de nuestro historial, tendremos que incorporar una
rama remota y fusionarla con la local para después
intentar enviarla de nuevo.

Este proceso es similar a la forma en la que SVN


realiza la sincronización con el repositorio central
mediante el comando svn update antes de confirmar
un conjunto de cambios.

4
IBM SkillsBuild | Introducción a Python

Pull NOMBRE-REMOTO es el nombre de nuestro


repositorio remoto.
Git pull es un comando de Git utilizado para actualizar
la versión local de un repositorio desde otro remoto. Por ejemplo: origin.

Podríamos decir que git pull es lo contrario de git NOMBRE-RAMA es el nombre de nuestra rama.
push, es decir, con el comando push subimos los
Por ejemplo: develop.
cambios de nuestro repositorio local a la nube y con
pull descargamos los archivos desde la nube a
nuestro repositorio local. Nota

Si tenemos cambios no confirmados, la parte de


Es uno de los cuatro comandos que solicita
fusión del comando git pull fallará y nuestra rama
interacción de red por Git.
local quedará intacta.
Actualiza la rama de trabajo actual, es decir, la rama
Por lo tanto, siempre deberíamos confirmar nuestros
en la que estamos trabajando actualmente.
cambios en una rama antes de actualizar nuevas
confirmaciones de un repositorio remoto.
Esto significa que git pull recuperará los cambios
desde el repositorio remoto y los integrará en la
rama local actual. Uso de git pull
Usaremos git pull para actualizar un repositorio local
del repositorio remoto correspondiente. Por ejemplo:
La síntaxis de este comando es el siguiente: Mientras trabajamos localmente en main,
ejecutaremos git pull para actualizar la copia local
miPC@miPC MINGW64 /g/WORKSPACE/011 de main y actualizar las otras ramas remotas.
GitHub/Proyecto GIT (master)

# Formato General Sin embargo, hay algunas cosas que hay que tener en
cuenta para que ese ejemplo sea cierto:
$ git pull OPCIONES REPOSITORIO REFSPEC

El repositorio local tiene un repositorio remoto


vinculado.
# Pull de una rama específica

$ git pull NOMBRE-REMOTo NOMBRE-RAMA - Confirma esto ejecutando git remote -v


- Si existen múltiples remotos, git pull podría
no ser suficiente información. Es posible que
debamos ingresar git pull origin o git pull
Donde:
upstream.
OPCIONES son las opciones de comandos, como -- Si la rama a la que nos hemos movido tiene una rama
quiet o --verbose. de seguimiento remoto correspondiente deberemos
revisa esto ejecutando git status.
REPOSITORIO es la URL de nuestro repositorio
remoto. Por ejemplo: Si no hay una rama de seguimiento remota, Git no
sabe de dónde extraer la información.
https://github.com/miRepositorio/repo.git

REFSPEC especifica qué referencias recuperar y qué


referencias locales actualizar.

5
IBM SkillsBuild | Introducción a Python

Fork
Una vez creado el fork, podemos realizar cambios y
solicitar el pull request a través de la página de
GitHub, que es básicamente una solicitud para que
nuestro código se fusione con el código del
El "fork" es una de las operativas comunes con el
repositorio donde hemos colaborado.
trabajo en Git y GitHub. Básicamente sirve para crear
una copia de un repositorio en nuestra cuenta de Esta operativa de Pull Request es un poco más
usuario. complicada que realizar un simple fork y de lo que
hemos resumido en las anteriores líneas.
Ese repositorio copiado será básicamente un clon del
repositorio desde el que se hace el fork, pero a partir
de ese momento el fork vivirá en un espacio Cómo hacer un fork en GitHub
diferente y podrá evolucionar de manera distinta.
Ahora que ya sabemos qué es un fork y cuándo lo
El fork lo podemos entender como una rama externa podemos necesitar, vamos a explicar el proceso de
de un repositorio, colocando esa rama en un nuevo realizar un fork en GitHub.
repositorio controlado por otros usuarios.
Simplemente accedemos al repositorio del que
Una vez hecho el fork existirán dos repositorios queremos hacer un fork, y pulsas el botón "Fork".
distintos. Inicialmente uno era copia exacta del otro,
pero a medida que se vaya desarrollando y
publicando cambios en uno u otro repo, ambos
repositorios podrán tender a ser tan distintos como
quieran cada uno de los equipos de desarrollo que
los mantengan.
Tendremos que hacer login en GitHub con nuestra
Así pues, un fork es una copia de un repositorio,
cuenta para crear un fork.
pero creado en nuestra propia cuenta de GitHub,
donde sí que tenemos permisos de escritura. Por Si estamos dentro de alguna organización nos podrá
tanto, si tenemos intención de bajarnos un aparecer una imagen para que seleccionemos en qué
repositorio de GitHub para hacer cambios en él y ese lugar queremos crear el fork, en nuestra cuenta
repositorio no nos pertenece, lo más normal es que personal o en alguna de nuestras organizaciones.
creemos un fork primero y luego clonemos en local
Una vez realizado el fork se creará un nuevo
nuestro propio fork.
repositorio en nuestra cuenta, con una copia del repo
original. En la página de GitHub se mostrará además
Operativa de Pull request que este repositorio es un fork de otro repositorio, el
original.
El fork es un paso inicial para conseguir participar en
los proyectos de las otras personas que publican
código en GitHub. Cualquier contribución comienza
por la realización de un fork del repositorio en el
que queremos colaborar.
Ahora podremos perfectamente hacer el clon de este
fork en local, para descargarlo en nuestro entorno de
desarrollo.

6
IBM SkillsBuild | Introducción a Python

Podremos realizar cambios en el proyecto y luego


hacer el commit, para seguidamente subir los
cambios a GitHub.

Como los cambios los estamos subiendo en un


repositorio de nuestra propiedad, ya que el fork está
realizado en nuestra propia cuenta, GitHub nos
permitirá publicar las modificaciones realizadas.

Clone
Para ello, usaremos nuestra consola con el comando
En alguna ocasión nos podemos encontrar con la
“git clone URL”:
desagradable sorpresa de que hemos borrado por
accidente nuestro proyecto en local. miPC@miPC MINGW64 /g/WORKSPACE/011
GitHub/Proyecto GIT (master)

Si tenemos una versión en GitHub podemos $ git clone


https://github.com/CursosBejob/GitBejob.
recuperarlo de varias formas. git

Podemos descargarnos una versión comprimida Cloning into 'GitBejob'...


remote: Enumerating objects: 17, done.
desde el menú Tags. remote: Counting objects: 100% (17/17),
done.
remote: Compressing objects: 100%
(11/11), done.
remote: Total 17 (delta 2), reused 13
(delta 1), pack-reused 0
Receiving objects: 100% (17/17), done.
Resolving deltas: 100% (2/2), done.

Podemos descargarlo también desde la opción


“Download zip” del menú “<>code”:

O podemos copiar la URL que nos sale justo encima


de la opción anterior y clonarla.

7
IBM SkillsBuild | Introducción a Python

Diferencia entre fork y


clone

Si hacemos un clon normal de un repositorio, el


espacio en GitHub de ese clon seguirá asociado al
repositorio que hemos clonado. De este modo, si
realizamos cambios sobre el clon y los queremos
publicar en GitHub, probablemente no los podremos
subir.

Obviamente, si clonamos un repositorio que era


nuestro, podremos realizar cambios en local y
subirlos a GitHub siempre que queramos. Pero si el
repositorio era de otro desarrollador y nosotros no
teníamos permisos de escritura sobre él, entonces no
podremos subir cambios, porque GitHub no nos lo
permitirá. Para este caso es donde necesitamos un
fork.

También podría gustarte