篇首语:本文由小常识网(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: 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>
#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的主要内容,如果未能解决你的问题,请参考以下文章