Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Foro Técnico: Git #1

Open
dprada opened this issue Oct 26, 2018 · 2 comments
Open

Foro Técnico: Git #1

dprada opened this issue Oct 26, 2018 · 2 comments
Labels
Foro Foro de preguntas y respuestas

Comments

@dprada
Copy link
Contributor

dprada commented Oct 26, 2018

Haz uso de este hilo para dudas técnicas y reporte de problemas relacionado con el uso e instalación de git.

@dprada dprada added the Foro Foro de preguntas y respuestas label Oct 26, 2018
@dprada dprada changed the title Foro Técnico: I.10 Git Foro Técnico: 0.10 Git Oct 27, 2018
@dprada dprada changed the title Foro Técnico: 0.10 Git Foro Técnico: Git Oct 27, 2018
@dprada
Copy link
Contributor Author

dprada commented Aug 9, 2019

Trucos y consejos de configuración y uso

Cómo hacer que el prompt indique la rama activa de cualquier proyecto

La terminal puede indicar el nombre de la rama activa de un proyecto de git en el prompt. Para hacer esto únicamente tienes que editar tu fichero '.bashrc':

vim ~/.bashrc

Localiza la parte en la que se define el contenido, formato y colores del prompt. Algo como:

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi

Y modifica esas lineas para que se vean de la siguiente manera:

parse_git_branch() {
 git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[01;31m\]$(parse_git_branch)\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w$(parse_git_branch)\$ '
fi

Ya puedes abrir una nueva terminal para ubicarte en cualquier directorio de tu sistema de ficheros que albergue un proyecto cuyo contenido está controlado y seguido por git. El prompt debe anunciarte el nombre de la rama activa justo antes del símbolo $.

@dprada
Copy link
Contributor Author

dprada commented Nov 2, 2019

Cómo actuar cuando queremos hacer pull de una rama remota pero hay cambios en su clon local

Hay ocasiones en las que queremos hacer pull de un repositorio remoto pero nos dice que tenemos cambios en nuestra rama que no hemos comprometido (committ) ni reservado (stash). El mensaje que entonces encontramos habitualmente dice algo como:

remote: Enumerating objects: 259, done.
remote: Counting objects: 100% (259/259), done.
remote: Compressing objects: 100% (89/89), done.
remote: Total 259 (delta 180), reused 243 (delta 164), pack-reused 0
Receiving objects: 100% (259/259), 347.90 KiB | 1.19 MiB/s, done.
Resolving deltas: 100% (180/180), completed with 47 local objects.
From github.com:uibcdf/MolModMT
   92bb813..12615af  master     -> origin/master
Updating 0d087f3..12615af
error: Your local changes to the following files would be overwritten by merge:
	docs/_build/.doctrees/Installation.doctree
	docs/_build/.doctrees/api/index.doctree
	docs/_build/.doctrees/environment.pickle
	docs/_build/.doctrees/index.doctree
        ...
	docs/_build/api/index.html
	docs/_build/genindex.html
	docs/_build/index.html
	docs/_build/search.html
	docs/index.rst
Please commit your changes or stash them before you merge.
Aborting

En ese caso, si queremos prescindir de nuestros cambios y traer los cambios que aparecen en el repositorio remoto podemos hacer:

git stash save
git pull
git stash drop

Si por el contrario queremos mantener los cambios que hicimos e incorporarlos de nuevo tras la implementación de los cambios en el repositorio remoto, podemos hacer:

git stash save
git pull
git stash pop

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Foro Foro de preguntas y respuestas
Projects
None yet
Development

No branches or pull requests

1 participant