Herramientas de usuario

Herramientas del sitio


linux:sistemaoperativo:git

**¡Esta es una revisión vieja del documento!**

Uso de git

clonar separando código y .git en distintos directorios '$ git clone –separate-git-dir /tmp/1/unaprueba ssh:git-test.pm.rosario.gov.ar/datos/git/web.git –branch desarrollo' clonar trayendo el log solamente del último cambio $ git clone --depth 1 ssh://git-test.pm.rosario.gov.ar/datos/git/web.git --branch desarrollo clonar como espejo para usar como bare local $ git clone --mirror ssh://git-test.pm.rosario.gov.ar/datos/git/web.git actualizar repositiorio espejo desde el origin $ cd repo && git fetch origin clonar contra https con certificado erroneo GIT_SSL_NO_VERIFY=true git clone https://gitlab.tecso.coop/tecso/siat-rosario.git git config http.sslVerify "false" ver ramas remotas $ git branch -r ver todas las ramas $ git branch -a ver ramas locales $ git branch comparar repositorio local con el origin git remote show origin agregar archivos nuevos al área de trabajo para commit git add . ver cambios que se grabarán en el próximo commit git status commit con mensaje git commit -a -m 'mensaje descriptivo' agregar archivo olvidado al último commit git commit --amend ver historial de commits git log --stat ver historial de commits abreviado git log --pretty=oneline ver diferencias entre último commit y el anterior git log -p -2 ver árbol de versionados git log --pretty=format:"%h %s" --graph volver a un commit anterior git revert 0d1d7fc32 anular últimos commits perdiendo cambios git reset --hard 0d1d7fc32 crear nueva rama (igual al commit actual) git branch testing borrar rama local git branch -d the_local_branch borrar rama remota git push origin :the_remote_branch aplicar en master os cambios de una rama de test git checkout master git merge test limpiar entorno sucio por cambios no aplicados: 1-ver 2-aplicar git clean -n git clean -f revertir un archivo a un estado varios commits anterior ver contenido del archivo en el commit git show a4r9593432:path/to/file.txt revertir el archivo a la versión elegida git reset a4r9593432 -- path/to/file.txt revisar las diferencias git diff --cached path/to/file.txt aplicar el cambio git commit ver diferencias en un archivo con el commit anterior git diff HEAD^ -- /foo/bar/baz.txt ver diferencias entre version actual y 2 versiones anteriores de un archivo git diff HEAD@{2} /foo/bar/baz.txt crear tag git tag -a v1.4 -m "my version 1.4" crear tag desde commit git tag -a v1.2 0b7434d86859cc7b8c3d5e1dddfed66ff742fcbc crear tag liviano (solo info del commit) git tag v1.4 Crear repositorio mkdir debian7apache cd debian7apache git init Cambiar la descripcion del proyecto vim debian7apache/.git/description Agregar archivos al directorio git add . git commit -n 'Carga de archivos iniciales' Subir al repositorio compartido git remote add origin pgrigio0@git-test.pm.rosario.gov.ar:/datos/git/svc/debian7apache.git git push origin master Actualizar cambios chmod +x instalar.sh git commit -a -m 'Agregar instalador ejecutable' git push origin master Crear repositorio compartido Crear repositorio compartido en git-test con permisos para edición del grupo solamente mkdir /datos/git/svc/debian7tomcat.git chown git debian7tomcat.git cd debian7tomcat.git git init --bare --shared=group cd ... chown -R git debian7tomcat.git chmod o-x debian7tomcat.git Cambiar la descripcion del proyecto vim debian7tomcat/description Subir el proyecto al servidor compartido git push pgrigio0@git-test.pm.rosario.gov.ar:/datos/git/svc/debian7tomcat.git master:master Agregar origen en repositorio local para después seguir actulizando cambios git remote add origin pgrigio0@git-test.pm.rosario.gov.ar:/datos/git/svc/debian7tomcat.git Agregar envío de correo cuando hay nuevo commit cd /datos/git/svc/debian7tomcat.git cp /usr/share/git-core/contrib/hooks/post-receive-email hooks/post-receive chown git.servicios hooks/post-receive chmod +x hooks/post-receive git config hooks.mailinglist "pgrigio0@rosario.gov.ar,pgrigioni@rosario.gov.ar" git config hooks.emailmaxlines 500 Sin git-modifier hay que hacer esto además git config hooks.emailprefix "[debian7tomcat] " git config hooks.showrev "git show -C %s; echo" Mensaje con servidor y repositorio $ git config hooks.showrev "t=%s; printf 'http://your_repository_IP/gitrepo/?p=my_git_project;a=commitdiff;h=%%s' \$t; echo;echo; git show -C \$t; echo" Agregar repositorio a demonio git público Agregar repositorio para poder ser consumido de forma pública mediante protocolo git touch /datos/git/svc/debian7tomcat.git/git-daemon-export-ok Agregar repositorio a servidor web Agregar repositorio para ser consultado de forma anónima por protocolo http y mediante la interfaz gitweb cd /var/www/gitweb/ ln -s /datos/git/svc/debian7tomcat.git . Procedimiento para clonar repositorio y subir modificaciones Para agregar cambios en un repositorio público el procedimiento es: 1) Traer la última versión del proyecto a modificar a mi pc 2) Aplicar los cambios a la versión local 3) Generar una nueva versión local 4) Publicar la nueva versión en el repositorio público 1) Clonar repositorio git clone ssh://usuario@git-test.pm.rosario.gov.ar/datos/git/svc/debian7base.git/ --branch master cd debian7base o para actualizar la version local con el contenido del servidor git pull origin master 2) Crear archivos nuevos vim nuevo.txt Agregar archivos nuevos al indice git add . Modificar archivos existentes vim README 3) Grabar los cambios git commit -a -m 'Mensaje descriptivo de los cambios' 4) Publicar los cambios en el repositorio compartido git push origin master Interfaces para gestión de permisos GITLAB - Es el de github - Soporta LDAP y grupos la versión paga - Se puede configurar autenticación LDAP en la versión libre pero hay que revisar si tiene manejo de permisos GITOLITE - Se maneja con claves rsa - Se configura a través de un repositorio de git - Se puede integrar LDAP pero con una modificación a través de apache + usuario genérico GITOSIS - Se maneja con claves rsa - Se configura a través de un repositorio de git - Complicado integrar LDAP

linux/sistemaoperativo/git.1549971746.txt.gz · Última modificación: 2019/02/12 11:42 por grillo