https://github.com/d6salinas/mlgit.git
Showing posts with label Git. Show all posts
Showing posts with label Git. Show all posts
Tuesday, December 23, 2014
Ejecuta comandos Git en múlptiples folders
Posted on 10:50 PM by Diego Salinas
Para algunas acciones recurrentes a nuestro trabajo con Git, tuvimos la necesidad de armar el siguiente script:
En el que no dejamos de mencionar a los GitAlias, que fueron definidos, al menos para el script, del siguiente modo:
Usar el script es de mucha utilidad, simplemente hay que cuidar el modo en que solicitamos aplique nuestros cambios.Gitalias, A nuestro modo
Posted on 10:33 PM by Diego Salinas
Dejando éste archivo, solo a modo de guía, para el sencillo trabajo con Git. Y todo, por que un alias debe ser fácil de recordar.
Con ésta base, pueden tener su propia configuración al gusto con los alias, y sobre todo con Git.
Con ésta base, pueden tener su propia configuración al gusto con los alias, y sobre todo con Git.
Categories: Git
Wednesday, May 7, 2014
Git: Consultar la lista de archivos modificados en un Commit
Posted on 2:17 AM by Diego Salinas
Durante nuestro trabajo con nuestro versionador preferido, Git (claro!). Es posible que se nos presente el caso en el que debemos reportar/consultar simplemente los archivos modificados en cada Commit.
Para Git ésto es consultar la Estadística de Commits realizados. Lo que consultamos en el modo:
$ git log --stat -N
Como,
--stat: indica cuántos archivos han sido modificados, cuántas líneas han sido añadidas y eliminadas para cada uno de ellos,
-N: indicamos el último número de entradas a consultar, Ej: -2
Categories: Git
Sunday, February 9, 2014
Git: Consultando el histórico de los cambios hechos en git
Posted on 3:06 AM by Diego Salinas
Despues de varios commits enviados al repositorio, es muy probable que querramos mirar atrás para ver las modificaciones que se han llevado a cabo. La herramienta más básica y potente para hacer esto es el comando git log.
Para ver las caracteristicas de cada parametro que nos son útiles revisar:
Con lo que puedo identificar los siguientes ejemplos:
$ git log$ git log -2$ git log –p -2
Categories: Git
Git: Corrigiendo el mensaje del último commit realizado
Posted on 3:05 AM by Diego Salinas
En casos en los que se haya ingresado un mensaje de confirmacion no correspondiente con el cambio, es posible modificarlo ejecutando un commit con la opción --amend:
$ git commit --amend
Se lanzará el editor de texto para que introduzcas tu mensaje, pero ya contendrá el mensaje de la confirmación anterior. Aquí puedes editar el mensaje.
Así también puedes enviar el mensaje como:
$ git commit -m 'mensaje actualizado' --amend
Categories: Git
Git: Agregar archivos olvidados al último commit realizado
Posted on 3:03 AM by Diego Salinas
Si durante nuestro trabajo realizamos un commit apresurado, y luego nos damos cuenta que hemos olvidado preparar en el cambio uno de los archivos que queríamos añadir, ésto se resuelve con algo así:
$ git commit -m 'commit inicial'
$ git add archivo_olvidado
$ git commit --amend
Estos tres comandos acabarán convirtiéndose en una única confirmación —la segunda confirmación reemplazará los resultados de la primera—
Categories: Git
Git: Guardar cambios saltándose el área de preparación
Posted on 3:02 AM by Diego Salinas
Mientras realizamos cambios y conocemos éstos últimos archivos actualizados o agregados, pero queremos saltarnos el área de preparación, Git proporciona un atajo. Consiste en usar la opcion -a cuando realizemos el commit.
Es decir:
$ git commit -a -m 'agregados 2 archivos nuevos al modulo2'
Notar que no ha sido necesario realizar el git add sobre cada archivo antes de ejecutar el commit.
Categories: Git
Friday, January 10, 2014
Git: Corrigiendo datos del Autor del último Commit
Posted on 10:51 PM by Diego Salinas
En un comienzo con Git, el nombre del autor de cambios y correo electrónico, son tomados por default como el nombre de usuario en el SO, y el nombre del Host respectivamente.
Ésta configuración la cambiamos mediante:
$ git config --global user.name "Your Name"$ git config --global user.email you@example.com
Son a detalle los nuevos datos del Autor de Cambios
Considerando que por alguna circunstancia éste último usuario del equipo cambia a uno nuevo por X razón, y éstos datos de Autor no son modificados, pero aún así sigue trabajando en algunos cambios y realiza su respectivo Commit, el autor del nuevo cambio sigue siendo el del registro anterior.
Asunto que resolvemos del modo anterior, cambiando la configuración del Autor:
$ git config --global user.name "Your Name"$ git config --global user.email you@example.com
Son a detalle los nuevos datos del Autor de Cambios
Despues de actualizar los datos del ahora Autor de Cambios, corregimos éstos datos en el último Commit enviado con el Autor anterior del modo:
$ git commit --amend --reset-author
Categories: Git
Friday, November 15, 2013
Git: Forzar borrado de una rama con merge incompleto
Posted on 1:27 AM by Diego Salinas
Si nos encontramos trabajando con una nueva ramalocal, a la que intentamos realizar un $ git pull, contra otra rama remota, en algún momento podremos tener conflictos en abundancia, que por cuestiones de tiempo u otra razón, puede ya no ser necesario arreglar mencionados conflictos, entonces podremos recurrir a eliminar ésta ramalocal.
A diferencia de eliminar una rama estable que es con:
$ git branch -d nombredelarama# Remueve la rama "nombredelarama" Estable
Para el caso que mencionamos, eliminamos la rama en conflictos con:
$ git branch -D nombredelarama# Remueve la rama "nombredelarama" en Conflictos
Categories: Git
Git: git pull y resolución a conflictos
Posted on 1:18 AM by Diego Salinas
Con $ git pull origin, obtengo la última versión del repositorio remoto, y al final intenta hacer un merge de los nuevos cambios contra la versión de la rama actual en que me encuentro.
$ git pull origin
Si el merge es completado sin conflictos, Git envía tal mensaje de que se ha completado la obtención de los últimos cambios si los hay.
En caso de haber conflictos, es necesario solucionarlos para completar el proceso "pull". Git agregará comentarios en los archivos que no hayan podido completarse del merge.
Cada archivo en conflicto contendrá un bloque de código identificado con las ramas en fusión, ambas versiones del bloque de código en conflicto son mostradas, es decir del siguiente modo.
<<<<<<< HEADespacio============Espacio>>>>>>> ramalocal
Para arreglar los conflictos solo basta en ir limpiando los bloques marcados por comentarios por Git.
Hasta éste paso solo hemos arreglado los conflictos, pero para completar el proceso de $ git pull, es necesario terminar haciendo un Commit para el grabado de éstos últimos cambios de archivos en conflicto a nuestra copia local. Es decir:
$ git add layout01.ang$ git commit -m 'git pull solucion de conflictos 0001'
Con ésto me hé bajado la última version de los códigos del repositorio, y se han fusionado con la copia local con que cuento.
Categories: Git
Tuesday, August 27, 2013
Git: Enviando commits de una rama al repositorio remoto
Posted on 8:15 PM by Diego Salinas
Despues de haber realizado el Commit en la rama clonada de un remoto, lo que resta es empujar o enviar esos Commits a dicho proyecto remoto. Para empujar los Commit's de la rama local "devellocal" sobre una rama remota "develremota", indicar:
Despues de ésto los cambios se encuentra ya en el repositorio remoto, que podran ser bajados por los demas colaboradores a través de "pull".
$ git push origin devellocal:develremota
# Los commits de la rama local activa, en nuestro caso DEVEL, seran enviadas al DEVEL, del repositorio remoto.
Despues de ésto los cambios se encuentra ya en el repositorio remoto, que podran ser bajados por los demas colaboradores a través de "pull".
Categories: Git
Especial Wss Git: Clonando un proyecto de un repositorio remoto
Posted on 8:13 PM by Diego Salinas
Cuando se realiza el clone de un Proyecto desde un repositorio remoto, éste puede ser denominado ssh://user@gitserver/pydir/project.git ó ssh://user@gitserver/pydir/project, se obtiene de forma local, pero por default se localizara con una sola rama master, aunque en el repositorio existan otras ramas.
Aunque las ramas remotas también las tenemos localmente solo que se encuentran ocultas, para visualizarlas necesitamos:
Pero si queremos evitar éstos pasos, ya que nuestra necesidad es obtener una rama especifica que si conocemos, en éste caso será manejado por clientes, es posible hacerlo en directo, y se recomienda hacerlo de la forma [Clonando una rama especifica de un repositorio remoto].
$ git clone ssh://user@gitserver/pydir/project
# Obtenemos una copia local del proyecto del repositorio remoto
$ cd project
# Accedemos al repositorio del proyecto local
$ git branch
* master
# Listado de ramas con que cuenta el proyecto local, notemos que solo es visible la rama master
# Aunque en el proyecto remoto se encuentre del siguiente modo:
$ git branch
devel
stable
* master
# Listado de ramas con que cuenta el proyecto remoto
Aunque las ramas remotas también las tenemos localmente solo que se encuentran ocultas, para visualizarlas necesitamos:
$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/origin/devel
remotes/origin/stable
# Listado de ramas remotas con que cuenta el proyecto
# Si queremos visualizar el contenido de alguna rama remota:
$ git checkout origin/stable
# Pero si queremos trabajar sobre el contenido de alguna rama remota, es necesario crear una rama local a partir de ésta rama remota:
$ git checkout -b stable origin/stable
# Y ahora, si queremos ver las ramas locales:
$ git branch
* stable
master
Pero si queremos evitar éstos pasos, ya que nuestra necesidad es obtener una rama especifica que si conocemos, en éste caso será manejado por clientes, es posible hacerlo en directo, y se recomienda hacerlo de la forma [Clonando una rama especifica de un repositorio remoto].
Categories: Git
Git: Clonando una rama especifica de un repositorio remoto
Posted on 8:11 PM by Diego Salinas
Antes de iniciar cualquier actualizacion, necesitamos contar con el codigo en forma local, cada modulo cuenta con la estructura en ramas ya mencionada, por que es necesario obtener del repositorio remoto la rama especifica PYDEVEL rama definida para realizar los cambios durante el desarrollo, los cambios podran ser enviados al server. Lo veremos en un siguiente post.
$ git clone -b PYDEVEL ssh://user@gitserver/pydir/pyname.git
# Obtenemos una copia de la rama remota llamada "PYDEVEL"
Categories: Git
Git: Enviando una rama local al repositorio Remoto
Posted on 8:08 PM by Diego Salinas
Envia una rama local llamada "nombreramalocal" hacia el repositorio remoto, para su uso por otros colaboradores:
$ git push origin nombreramalocal
Categories: Git
Git: Listando ramas y mostrando su último commit
Posted on 8:06 PM by Diego Salinas
Para listar las ramas del repositorio actual, y a la vez necesitamos saber cuál fué su último commit, hacemos lo siguiente:
$ git branch -v
Categories: Git
Tuesday, August 13, 2013
Agregar archivos de forma interactiva en Git
Posted on 9:58 PM by Diego Salinas
Para agregar los nuevos cambios al Staged en Git, se usa $ add , pero añadamosle -i para definir la interactividad:
git add -i
Y listo, podemos seguir con las opciones del menú.
Categories: Git
Tuesday, July 16, 2013
Git: Importancia del Fichero .gitignore
Posted on 5:53 PM by Diego Salinas
.gitignore Es un fichero especial para Git. Va situado en la raíz del repositorio, como contenido trae la extensión de los ficheros que no queremos sean añadidos al repositorio en Git. Es una ventaja ya que es solo éste el lugar donde realizaremos esta configuración para todos esos Archivos.
Aterrizabdo el concepto, mencionamos 2 casos. El Primero de cuando hablamos de un Proyecto en C:
Un Segundo caso cuando hablamos de un Proyecto en Java, aunque claro, finalmente cada quien puede decidir sobre los tipos de archivos que al final serán considerados.
Aterrizabdo el concepto, mencionamos 2 casos. El Primero de cuando hablamos de un Proyecto en C:
*.o
tmp/
resources/
Un Segundo caso cuando hablamos de un Proyecto en Java, aunque claro, finalmente cada quien puede decidir sobre los tipos de archivos que al final serán considerados.
#java specific
*.class
#netbeans ignore personal stuff
nbproject/
## generic files to ignore
*~
*.lock
*.DS_Store
*.swp
*.out
# Package Files #
*.jar
*.war
*.ear
Solo para tenerse en cuenta.
Categories: Git
Versionando con Git en NetBeans
Posted on 5:41 PM by Diego Salinas
Mencioné anteriormente unas ligas para hacer nuestro trabajo en Modo local con el Entorno Eclipse, en éste caso les dejo una liga para qeu se agregue y se siga trabajando pero ahora con NetBeans, y que posteriormente puede ser salvado a un Repositorio Remoto.
Categories: Git
Thursday, June 13, 2013
Versionando, solo que con Git en Eclipse
Posted on 11:48 AM by Diego Salinas
Rápido: Una manera de versionar Código es usar Git, aunque mucho mejor es saber que puedo hacerlo de modo local.
Les comparto los enlaces que permiten hacer su instalacion y manejo con el entorno Eclipse:
Artículo
Oficial Eclipse
y sigan versionando para el mejor control de sus pys.
Categories: Free Software, Git, Linux, Open Source
Tuesday, February 19, 2013
Consultar y obtener los nuevos cambios hechos en Git
Posted on 5:38 AM by Diego Salinas
Rápido: Ésto se puede hacer, bajo la suposición que se ha dejado el Repositorio por cierto tiempo, durante el cuál otros integrantes del equipo han hecho cambios actualizando directamente al Repositorio en Git.
Es posible hacer una consulta de los nuevos cambios que se encuentran en Git para posteriormente obtenerlos localmente. Ésto se hace con:
$ git pull origin master
Pero para el manejo eficiente de las distintas versiones que pueden haber en determinados momentos, es mejor recurrir a usar Stash, pero lo explicaré en otro post.
$ git pull origin master
Pero para el manejo eficiente de las distintas versiones que pueden haber en determinados momentos, es mejor recurrir a usar Stash, pero lo explicaré en otro post.
Categories: Git
Subscribe to:
Posts (Atom)