sh Principales comandos GIT

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sh Principales comandos GIT相关的知识,希望对你有一定的参考价值。

# ref: http://www.oyagum.com/articulos/como-forzar-git-pull/
# descargar todo de todas las ramas sin hacer merge
$ git fetch --all

# en caso de que no se quiera descargar todo se espefica repo y rama
$ git fetch origin master

# reseteamos rama master a lo descargado con git fetch --all
$ git reset --hard origin/master

# o especificando la rama
$ git reset --hard origin/nombre_rama

# opcionalmente podemos guardar cambios realizados en nueva rama
$ git checkout rama-nueva-donde-guardar-cambios 

$ git fetch origin master

$ git reset --hard origin/master
# si se necesita replicar una rama para un solo cambio especifico

$ git checkout -b ramaXYX_bk upstream/ramaXYZ_bk

# realizar cambios 

$ git add archivo_con_cambios 
$ git commit -m "msje de cambios"
$ git push origin ramaXYZ_bk

# opcionalmente hacer PR 
# ref: https://es.stackoverflow.com/questions/3575/quitar-archivos-añadidos-antes-de-un-commit
# antonimo de git add
git reset <paths>
# ref: http://www.azrodin.com/programacion/git-se-olvide-archivo
# al intentar hacer pull aparece el siguiente msje
# error: Your local changes to the following files would be overwritten by merge:
#	storage/file.log
# Please, commit your changes or stash them before you can merge.

$ git fetch --all
$ git reset --hard origin/master

# otra opcion, menos radical
# ref: https://gist.github.com/andru255/6136136
# .. luego de haber hecho tus cambios sin aplicar add ni commit y querés aplicar pull se hace lo siguiente:

# el git stash almacena una rama temporal donde toma tus cambios
$ git stash

# aplicamos el pull correspondiente..
$ git pull origin [mi-rama]

# y luego retornamos los cambios de la rama temporal
$ git stash apply stash@{0}

# Y listo se muestra de nuevo los cambios realizados sobre los nuevos cambios, claro sin el estar adicionado o comiteado.
# adicionalmente habria que hacer git reset HEAD para envair a stash otra vez los archivos
# y despues hacer commit
$ git reset HEAD <ruta_archivo>
#crear alias desde terminal
$ git config --global alias.[alias] "[comando]"

#Comandos

git alias
git config --global alias.alias "config --get-regexp ^alias\."

git lost
git config --global alias.lost "fsck --full"

git broken
git config --global alias.broken "fsck --unreachable"

git last
git config --global alias.last "log -1 HEAD"

git lg
git config --global alias.lg "log --pretty=format:'%h - %an, %ar : %s' --graph"

git lgc
git config --global alias.lgc "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)%Creset' --abbrev-commit --date=relative"

git lgb
git config --global alias.lgb "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)%Creset' --abbrev-commit --date=relative --branches"

git pusho
git config --global alias.po "push origin HEAD:refs/for/master"

#Abreviaturas

git b
git config --global alias.b "branch"

git ci
git config --global alias.ci "commit"

git co
git config --global alias.co "checkout"

git cob
git config --global alias.cob "checkout -b"

git d
git config --global alias.d "diff"

git l
git config --global alias.l "log"

git st
git config --global alias.st "status"

git ri
git config --global alias.ri "rebase --interactive"

git rc
git config --global alias.rc "rebase --continue"

git rs
git config --global alias.rs "rebase --skip"

git rf
git config --global alias.rf "reflog"
#configurar nombre y correo propietarios de los cambios
$ git config --global user.name "David Salazar"
$ git config --global user.email davidsalazar@multiplica.com

#comprobar datos del propietario
$ git config --list
#ubicado en la carpeta
$ git clone <url_repositorio>

#especificando carpeta destino
$ git clone <url_repositorio> <mi_carpeta>

#clonando fuera del directorio actual
$ git clone <url_repositorio> .
#proyectos/git es la carpeta destino ejemplo
$ echo cd proyectos/git >> ~/.bashrc
# renombrar ramas
# ref: https://eruditosit.wordpress.com/2013/11/13/renombrar-una-rama-en-git-de-forma-facil/
# ubicado en otra rama
git branch -m <nombre_antiguo> <nombre_nuevo>

# ubicado en la rama a modificar
git branch -m <nombre_nuevo>

# lo anterior solo cambia nombres en ramas locales
# para revisar ramas locales y remotas
git branch -a

# Si vemos algo como: remotes/origin/<nombre_viejo>
# Entonces lo eliminamos (prestar atención en los dos puntos delante de <nombre_viejo>)
git push origin :<nombre_viejo>

# Eliminar archivo desde git
git rm --cached <ruta-de-archivo>

# ref: https://www.damianculotta.com.ar/control-de-versiones/como-sincronizar-repositorios-forkeados-con-git/
# listar repos remotos de nuestro repo
git remote -v 

# agregar upstream para nuestro repo, es el repo original desde el cual se hizo fork
# agrega repos desde los cuales sincronizar
git remote add upstream <url_repositorio_origen_del_fork>

# lista otra vez
git remote -v 

# actualizar nuestra copia de upstream
# descarga la ultima version del repo
git fetch upstream

# cambiamos a nuestra rama master
git checkout master

# para terminar, mergeamos rama master de upstream con nuestra rama master
# una vez terminado el codigo habria sido sincronizado
git merge upstream/master

# luego queda hacer push de nuestra rama master
git push origin master

# opcional: modificar url del repo upstream
git remote set-url upstream <url_repo_stream>



以上是关于sh Principales comandos GIT的主要内容,如果未能解决你的问题,请参考以下文章

sh Comandos Gerais

sh Comandos Gerais

sh COMANDOS NECESARIOS CENTOS

sh Comandosútilesbash

sh ComandosúteisparaShell脚本

sh Comandos2