Hacer un merge entre ficheros que son diferentes

Cuando haces un pull y hay un conflicto de versiones, los ficheros que te descargas tienen anotaciones en su interior indicando lo que se debe corregir. Habrá que modificar estos ficheros para dejarlos correctos y luego hacer un comint y un push

Ramas en git eye

Pestaña Git Repositories → Branch → Local →

Cambiar de Rama:
Doble click sobre la rama a la que quiero cambiar.

Borrar Rama:
Botón derecho → Delete Branch

Para ver todas las ramas:
En la pestaña History, pulsar en "Show all branches and tag".

git reset

Lleva la rama activa a un estado previo

hard: al ir al estado previo se pierden todos los cambios no commiteados. También desaparecen del grafo todos los hijos del commit al que voy. Esto es así porque los commit almacenan el commit hijo, pero no el commit padre. Para visualizar los commit que faltan tendría que mover el punto de entrada al hijo deseado. Si pasase el recolector de basura perdería los commit que no estoy viendo, más o menos al cabo de dos semanas.

Para volver a un punto del grafo que ha desaparecido

Necesito una referencia al punto al que quiero ir. Para ello necesito un tag o un branch. Si tras hacer un git reflog decido que quiero ir a cierto punto (93948fd), podré ejecutar:

  1. git tag [nombre del tag] 93948fd
  2. git branch [nombre del branch] 93948fd (si lo que quiero es continuar trabajando a partir de este punto).

Es un puntero especial que apunta a la rama activa.

Sólo puede apuntar a ramas y estas deben ser locales. No puede apuntar a ramas remotas ni tags. De lo contrario tendré un detached head.

Si no indicamos nada, al ejercutar git reflog nos muestra todos los movimientos de HEAD.

Los reflog son inherentes a la máquina dónde estás trabajando.

Borrar una rama remota

Primero borro la etiqueta y luego la rama:

#Borro la etiqueta
git branch -d -r origin/devel

#Borro la rama
git push origin:devel

Trabajo con forks

El botón de fork de un proyecto me lo lleva a mi cuenta de github. Luego puedo hacer clone del proyecto para manipularlo en mi equipo.

git clone https://github.com/monteserin/destinyway.git

.. hago cambios en el repo que he clonado

En github me aparece el botón “Pull Request” que me permite solicitar el envío al repositorio principal.

Después de que el integrador integre los cambios las personas que lo han enviado no los verán en sus repositorios forkeados. Tendrán que volver a cojerlos.

icono de mandar un mail¡Contacta conmigo!
Pablo Monteserín
contacta conmigoPablo Monteserín

Para dudas técnicas sobre los ejercicios de mis cursos es necesario estar suscrito.