Git es un software de control de versiones distribuido, mundialmente utilizado por su eficiencia. Para una mejor explicaci贸n de qu茅 es git y para qu茅 sirve? ... recomiendo ver las guias publicadas por Makigas a trav茅s de su canal de Youtube Makigas - Tutorial de Git
Mi intenci贸n en este post, es resumir mi experiencia al utilizar Git desde Gnu-Linux Fedora, al final hago referencia a algunas de las URLs que me han ayudado en este aprendizaje.
Instalaci贸n
yum install gitgit --version
Creaci贸n de llaves Cliente
Crear llaves SSH a traves del comando:
* ssh-keygen
* Poner una contrase帽a
* eval $(ssh-agent -s)
* ssh-add
Configuraci贸n Cliente Git
git config --global user.name nombreAsignadogit config --global user.email mailAsignadogit config --global core.editor "vim"
Configuraci贸n por repositorio
git config user.name "neogeoakb"git config user.email "neogeob@akb.soy"
Para los que necesiten colorear git log y git diff en la terminal, utilizar:
* git config --global core.pager "less -R"
Para visualizar las configuraciones actuales del cliente Git:
* git config --list
Para verificar las configuraciones podemos ir al archivo .gitconfig:
[usuario@localhost ~]$ cat .gitconfig
[user]
name = ferchoPortal
email = neogeo@akb.soy
[core]
editor = vim
Comandos Basicos
init
Para crear un repositorio Git.
* git init
status
Para ver el estado actual.
* git status
clone
Para clonar un proyecto en GitHub.
* git clone html_GitHub
Para clonar un proyecto git de forma local.
* git clone akb.soy/.git ./blog.akb.soy/
* git clone -b my-branch git@github.com:user/myproject.git
add
Para agregar archivos al index (Stagin).
* git add nombreArchivo
reset
Para reversar el git add debemos utilizar:
* git reset nombreArchivo
rm
Para eliminar un archivo.
* git rm file1.txt
* git commit -m "remove file1.txt"
Pero si desea eliminar el archivo s贸lo del repositorio de Git y no eliminarlo
del sistema de archivos, utilizar:
* git rm --cached file1.txt
branch
Para ver la rama actual de Git.
* git branch
Para crear una nueva rama.
* git branch nombreDeLaRama
Para mostrar todas las ramas.
* git branch --all
Para borrar una rama en nuestro repositorio local.
* git branch -d nombre_rama
Para forzar el borrado de una rama en nuestro repositorio local.
* git branch -D nombre_rama
Para borrar una rama en nuestro repositorio Remoto.
* git push origin :nombre-rama
* git push origin --delete nombre-rama
checkout
Para pasar a trabaja con esa rama.
* git checkout nombreDeLaRama
Para crear una rama y trabajar desde ella Directamente.
* git checkout -b nombreDeLaRama
Para crear una rama con el contenido de un repositorio remoto:
* git checkout -b private_cv origin/private_cv
merge
Para fusionar ramas dentro de la rama activa.
* git checkout master
* git diff master test_blog_01
* git merge test_blog_01
commit
Para guardar en git los cambios de uno o varios archivos de forma local.
git commit -m "Texto que identifique por que se hizo el commit"
Para agregar un nuevo cambio sin que se registre otro commit.
* git commit --amend
Para que el commit se replique en los repositorios remotos debemos ejecutar:
* git push --force
Para modificar el mensaje del commit sin necesidad de crear otro commit.
* git commit -m "Mensaje corregido" --amend
log
Para visualizar los commit realizados anteriormente.
* git log --oneline --decorate --all --graph
diff
Para visualizar las diferencias entre archivos versionados.
* git diff
* git diff nombreArchivo
* git diff branch-comparar branch-actual nombreArchivo
remote
Para crear repositorios remotos.
* git remote add origin git@git.akb.soy:py2_resumen_cv.git
* git remote add akb git@git.akb.soy:resumen_cv.git
Para visualizar los repositorios remotos.
* git remote -v
* git remote -v --all
Para eliminar repositorios remotos.
* git remote rm origin
push
Para enviar tus cambios locales hacia respositorios remotos.
* git push origin master
* git push akb --all
pull
Para recibir los ultimos cambios almacenados en los repositorios remotos.
* git pull origin master
* git pull --rebase --stat origin master
URLs
git-puesto-en-practica
mini-tutorial-y-chuleta-de-comandos-git
git-uso-dasdo
git-carlotssanchezperez-01
git-carlotssanchezperez-01
git-vogella
EGit-vogella
git-rogerdudler
git-jelcaf
colorear-git-log-y-git-diff