FAQ Recuperar, actualizar GIT fuentes del proyecto: Difference between revisions

m (Updating interlang links (links to translated versions of this page in other languages) triggered by origin English page "FAQ_Get,update_GIT_project_sources" update.)
 
(15 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<!-- BEGIN interlang links -->
<!-- Do NOT edit this section
    Links below are automatically managed by PolyglotBot
    You can edit links on the English source page : FAQ_Get,update_GIT_project_sources -->
[[en:FAQ_Get,update_GIT_project_sources]]
[[fr:FAQ_Récupérer,_mettre_à_jour_les_sources_GIT_du_projet]]
[[de:FAQ_Get,_update_GIT_Projekt_Quellen]]
[[zh:常见问题-获取与更新项目的GIT源代码]]
<!-- END interlang links -->
[[Category:FAQ ES]]
[[Category:FAQ ES]]
{{TemplateDocDevEs}}
{{TemplateDocDevEs}}


Esta es información sobre cómo puede obtener los fuentes del proyecto Dolibarr. Este tutorial explica los pasos a seguir utilizando el IDE Eclipse.
Esta es información sobre cómo puede obtener las fuentes del proyecto Dolibarr.
 
= Obtener la última versión de los fuentes por descarga =
Este método le permite obtener los fuentes de la rama de desarrollo principal (Llamada HEAD). La operación consiste en recuperar la última versión de los archivos de la aplicación Dolibarr que son compilados cada noche en un archivo. Este archivo se encuentra disponible en el siguiente enlace:
 
{{LinkLastSnapshot}}


= Prerrequisitos =
Los nuevos archivos reemplazarán los antiguos
En primer lugar debe tener funcionando una instalación de Eclipse. También debe tener instalado el plugin '''EGit'''.
Para ello, use la opción '''Find And Install process''' en los menús de Eclipse, añada la url de actualización de GIT:


http://download.eclipse.org/egit/updates
El problema de este método es que hace falta descargar y descomprimir el paquete cada vez que deseemos actualizar.


A continuación, seleccione la instalación de '''EGit'''.
= Obtener la última versión de los fuentes usando un acceso anónimo GIT =
== Prerrequisitos ==
Debe tener una instalación funcional de Eclispe, el plugin '''EGit''' también debe estar instalado.
Para instalarlo, use '''Help''' desde el menú Eclipse, seguidamente haga click en '''Install new software''' y click en '''Available software site'''. En la lista de direcciones que aparece, busque el enlace :
http://download.eclipse.org/egit/updates
Seguidamente escoja instalar '''EGit'''.


=Obtener la última versión de los fuentes usando un acceso GIT anónimo=
== Proceso de Clonado ==
Para obtener los fuentes con el objetivo de editarlos, necesita un GitHub con acceso de escritura al repositorio Git remoto y un cliente GIT (herramienta en línea de comandos en linux o el cliente GIT en Eclipse). Vea el siguiente capítulo para ello..


Para obtener los fuentes con el propósito de editarlos, necesita un acceso GitHub en escritura al repositorio remoto GIT y un cliente GIT (Comando GIT en linux o el Cliente GIT en Eclipse).
En primer lugar, introducir el valor del repositorio con los fuentes de referencia en la herramienta de cliente de GIT.


En primer lugar, hay que introducir el repositorio de referencia que contiene los fuentes en su cliente GIT
* Con Eclipse, escoja "Clone GIT repository". Introduzca la URL GIT del proyecto a obtener.
Con Eclipse, seleccione "Clone GIT repository". Introduzca la URL GIT del proyecto a obtener.
La Url para los fuentes oficiales de Dolibarr es:
La URL GIT de los fuentes oficiales Dolibarr es:
<source lang="ini">
<source lang="ini">
git://github.com/Dolibarr/dolibarr.git
git@github.com:Dolibarr/dolibarr.git
or
git://github.com/Dolibarr/dolibarr.git (read only)
</source>
</source>
Su cliente GIT de Eclipse le preguntará en que ramas está interesado. Las ramas no seleccionadas podrán seleccionarse después mediante un "Fetch" desde la vista "Remotes", pero trate de elegir sólo la rama que usted necesita. Esto le ahorrará tiempo y problemas en el futuro.


Su cliente GIT le preguntará por las ramas en las que esté interesado. Las ramas no seleccionadas podrán seleccionarse después con un "Fetch" desde la vista "Remotes", así que trate de elegir sólo la rama que necesita. Esto le ahorrará tiempo y problemas en el futuro.  
* Con GIT desde la línea de comandos:
Primero configure su cliente GIT:
<source lang="bash">
git config --global user.name "Su Nombre"
git config --global user.email "usuario@dominio.com"
git config --list
</source>


Una vez realizado este paso, su cliente GIT descargará todos los archivos desde el servidor remoto GIT. Esto puede durar varios segundos o minutos.
Clone el repositorio localmente:
Una vez haya finalizado la descarga, vaya a la vista GIT - Branches - Local. En la mayoría de los casos, la rama seleccionada debe estar ya disponible.
<source lang="bash">
De lo contrario, haga clic con el botón derecho en "Branches - Remotes - La rama que desea duplicar localmente".
git clone git://github.com/Dolibarr/dolibarr.git dolibarr
Si elige "Create Branch", duplicará el contenido de la rama para trabajar en local.
</source>
Si elige "Checkout", actualizará la vista "Working Directory".
 
Y si usa firewall, puede usar la URL alternativa:
<source lang="bash">
git config --global http.proxy http://proxyuser:proxypass@proxyserver:proxyport
git clone https://gitlogin:gitpassword@github.com/Dolibarr/dolibarr.git dolibarr
</source>


Una vez que su rama haya sido creada localmente, cree un proyecto PHP con el asistente Eclipse, eligiendo "'''Create from existing project'''" y seleccionando el directorio donde se encuentra su repositorio local GIT (No escoja crear un proyecto PHP desde cero).
Una vez que este paso se valida, el cliente de GIT se descargará todos los archivos del servidor GIT remoto. Esto puede durar varios segundos o minutos.
Una vez que la descarga haya finalizado, vaya a la vista GIT - Branches - Local. En la mayoría de los casos, la rama que ha escogido ya está disponible.


Seguidamente haga clic con el botón derecho del ratón sobre el proyecto del workspace de su Eclipse y escoja "'''Team - Share'''". Seleccione GIT y haga clic en la opción "'''Use or create repository in parent folder of project'''".
Si no:
* Con Eclipse, haga click con el botón derecho en"Branches - Remotes - La rama que desea clonar localmente".
Si escoge "Create Branch", duplicará el contenido de la rama para trabajar en forma local.
Si escoge "Checkout", actualizará la vista "Working Directory".


=Obtener la última versión de los fuentes usando un acceso GIT completo=
* Con GIT desde la línea de comandos:
El proceso es el mismo que el descrito para el acceso anónimo.
<source lang="bash">
Sin embargo, antes debe crearse una cuenta en GitHub (https://github.com/) y subir un certificado RSA o DSA público RSA o DSA a su perfil de cuenta
git checkout develop
git checkout x.y
</source>
Esto creará la rama local y realizará un checkout de forma automática.


La URL a usar para clonar GIT es la misma:
Si usa Eclipse, una vez que su rama se crea a nivel local, cree un proyecto de PHP a partir del asistente eligiendo "'''Create from existing project'''" y seleccione el directorio de su repositorio GIT local (No use create a PHP project from scratch).
A continuación haga click con el botón derecho del ratón en su workspace y escoja "'''Team - Share'''". Seleccione GIT y haga click en la opción "'''Use or create repository in parent folder of project'''".
 
Un método alternativo es usar el menú File->Import, Git->Project from Git, Seleccione el repositorio GIT y haga click en Next, Use New project Wizard -> Php project, indique el directorio de su repositorio local GIT.
 
 
Seguidamente, puede configurar Eclipse para evitar analizar todos los archivos del proyecto (Outline scanner, TODO scanner, syntax scanner...). Esto evitará que Eclipse se vuelva lento. Para ello, haga clic derecho en el proyecto, elija Build Path y configure como la siguiente captura de pantalla.
 
[[File:Eclipse php build path.png|240px]]
 
=Obtener la última versión de los fuentes usando un acceso completo GIT=
== Prerrequisitos ==
Debe tener una instalación funcional de Eclipse, el plugin '''EGit''' también debe estar instalado.
Para instalarlo, use '''Help''' desde el menú Eclipse, seguidamente haga click en '''Install new software''' y click en '''Available software site'''. En la lista de direcciones que aparece, busque el enlace :
http://download.eclipse.org/egit/updates
Seguidamente escoja instalar '''EGit'''.
 
Debe crear antes una cuenta en GitHub (https://github.com/) y subir un certificado público RSA o DSA en su account profile.
== Proceso de Clonado ==
El proceso es el mismo que el explicado en la obtención de los fuentes con acceso anónimo.
 
la URL a usar para clonar GIT es la misma:
<source lang="ini">
<source lang="ini">
git@github.com:Dolibarr/dolibarr.git
git@github.com:Dolibarr/dolibarr.git
</source>
</source>


Tenga en cuenta que hay disponible una URL HTTP, aunque a veces está fuera de línea:
Tenga en cuenta que también se encuentra disponible una dirección URL HTTP, pero a veces se encuentra fuera de línea:
<source lang="ini">
<source lang="ini">
https://yourgitlogin@github.com/Dolibarr/dolibarr.git
https://yourgitlogin@github.com/Dolibarr/dolibarr.git
Line 51: Line 111:
=Actualizar su repositorio=
=Actualizar su repositorio=
Para actualizar su workspace local, haga clic con el botón derecho en el proyecto de Eclipse y seleccione "Pull".
Para actualizar su workspace local, haga clic con el botón derecho en el proyecto de Eclipse y seleccione "Pull".
Si ha realizado cambios en su workspace local en archivos que han cambiado en el GIT remoto, su cliente GIT realizará automáticamente un merge y marcará todos los archivos con conflictos como "conflict" (Mire más abajo para solucionarlo). Si no, usted recibirá todos los archivos de la nueva versión con los cambios incluidos.


=Comitear y publicar sus cambios=
Si usted realiza algunos cambios en su workspace de Eclipse, el cliente GIT realizará una fusión automática en los archivos que hayn cambiado en la referencia GIT remoto.
Para comitear los cambios realizados en su repositorio local, haga clic con el botón derecho del ratón en el archivo o directorio a comitear. Los cambios serán validados en su repositorio local.


Para subirlos al repositorio remoto GIT, haga clic con el botón derecho en el proyecto y escoja "'''Team - Push to Upstream'''".
* Si se producen conflictos, la fusión marcará todos los archivos con conflictos como "conflict" (Ver más adelante para resolver este estado).
* De lo contrario, recibirá todos los archivos de la nueva versión, incluyendo todos sus cambios.


= Añadir commits externos en su repositorio =
Si ya ha comiteado algunos archivos en su repositorio local, su workspace se marcará como "Merged".
Algunos desarrolladores pueden trabajar y comitearr en su propio repositorio Git después del fork del proyecto. Si está interesado en obtener esos cambios, Puede seguir los siguientes pasos con Eclipse:
Todo lo que hay que hacer es crear un commit para validar su repositorio local, incluyendo sus cambios y los cambios realizador por otros.
* En primer lugar, vaya a la vista de configuración de GIT y haga clic con el botón derecho en "'''Remotes'''" en su workspace de Eclipse y elija "'''Create a remote...'''"
 
* Indique el nombre o el fork remoto que el desarrollador ha creado (en la mayoría de casos es el login Git del desarrollador). Por ejemplo: "'''thedevlogin'''". Elija también "'''Configure Fetch'''".
= Comitear y publicar sus cambios =
* Indique la URL del repositorio Git del desarrollador. Por ejemplo: '''git://github.com/thedevlogin/dolibarr.git'''. También añada el valor refspec para indicar la rama que desea obtener. Por ejemplo: '''refs/heads/master:refs/remotes/thedevlogin/master'''. Haga clic en "'''Save and Fetch'''". Se añadirá una nueva entrada en "Remote Tracking" que hará posible la lectura y obtención de los commits realizados en esa rama.
Para ver todos los cambios realizados en su workspace y la espera de ser añadidos en Git:
* Con la línea de comandos GIT:
<source lang="bash">
git status
git diff subdir/filename
</source>


Ahora, vaya a la línea de comandos en su repositorio git (en muchos casos en Linux, es '''/home/yourlogin/git/yourdolibarr''') y teclee el comando cherry-pick git:
Para añadir los cambios realizados en el repositorio local en el índice GIT, confirmar este índice:
* Con Eclipse: Clic con el botón derecho del ratón en el archivo o directorio a comitear. Seleccione archivo a añadir/eliminar/actualizar en el comit.
* Con la línea de comandos GIT:
<source lang="bash">
git commit -a -m "Commit text"
</source>
Esto guardará y añadirá todos los cambios en su rama local.
 
Para realizar un push al repositorio GIT del servidor,
* Con Eclipse: hacer clic con el botón derecho en el proyecto y elegir "'''Team - Push to Upstream'''".
* Con la línea de comandos GIT:
<source lang="bash">
git push
</source>
 
Para cancelar un comit:
* Con la línea de comandos GIT:
<source lang="bash">
git revert IdCommit  o  git revert HEAD  (para el último comit)
</source>
 
= Añadir un commit externo al repositorio =
Algunos desarrolladores pueden trabajar y realizar commits en su repositorio GIT después de haber realizado un fork al proyecto.Si está interesado en conseguir esos cambios, puede importarlos realizando los siguientes pasos en Eclipse:
* Primero, vaya a la vista GIT setup y haga clic con el botón derecho del ratón en"'''Remotes'''" de su Eclipse Git working space y elija "'''Create a remote...'''"
* Indique nombre o el fork remoto que el desarrollador ha creado (en la mayoría de los casos, es el GIT login del desarrollador). Por ejemplo: "'''thedevlogin'''". Elija también "'''Configure Fetch'''".
* Teclee la URI del respositorio GIT del desarrollador. Por ejemplo: '''git://github.com/thedevlogin/dolibarr.git'''. Añada un valor refspec value para declarar la rama que desea obtener. Por ejemplo: '''refs/heads/master:refs/remotes/thedevlogin/master'''. Clic "'''Save and Fetch'''". Se habrá añadido una nueva entrada en "Remote Tracking" haciendo posible la lectura/obtención de los commits realizados en esa rama.
 
Ahora, ir a la línea de comandos de su repositorio GIT (en la mayoría de casos en Linux, es'''/home/sulogin/git/sudolibarr''') y teclee el comando git cherry-pick:
<source lang="bash">
<source lang="bash">
git cherry-pick -x commitid
git cherry-pick -x commitid
</source>
</source>
donde el commitid es el valor del comit id que desea obtener.
donde el commitid es el valor del commit id que desea obtener.
 
Una vez hecho esto, vuelva a Eclipse y haga un refresh sobre el proyecto. Verá los archivos modificados aparecen con decoradores (con conflictos si hay).
 
=Solucionar un conflicto=
Si un archivo se ha marcado como "Conflict" después de un "Pull", ábralo para editarlo.
Busque el string "<<<<<<<<<<", podrá ver parte del código conflictivo entre "<<<<<<<<<" y ">>>>>>>>". Edite manualmente las líneas de código y elimine "<<<<<<<<" y ">>>>>>>".  


Una vez hecho esto, vuelva a Eclipse y haga un refresh del proyecto. Verá que los archivos modificados aparecen con los decoradores (con los conflictos si hay).
Seguidamente haga clic con el botón derecho del ratón en el archivo y seleccione "Add".


=Solucionar conflictos=
Si prefiere perder completamente todos los cambios realizados por usted en todos los archivos (restaurar su workspace con el contenido del repositorio remoto), puede realizar un hard resett:
Si un archivo ha sido marcado como "conflict" después de un Pull, abra el archivo para editarlo.
* Con Eclipse, clic con el botón derecho del ratón sobre el nombre del proyecto y seleccione "'''Reset'''" - "'''Hard'''" - "'''Reference - HEAD'''".
Busque el string "<<<<<<<<<<", verá la parte de código que provoca el conflicto entre "<<<<<<<<<" y ">>>>>>>>". Edite las líneas de código manualmente y elimine "<<<<<<<<" y ">>>>>>>". Seguidamente, haga clic con en botón derecho del ratón en el fichero y seleccione "Add".
* Con la línea de comandos GIT, se puede lograr esto con el comando
Si usted descartar por completo todos los cambios realizados en todos los archivos (restaurar su workspace con el contenido del repositorio remoto), haga clic con el botón derecho del ratón en el proyecto y seleccione "'''Reset'''", seguidamente "'''Hard'''" y "'''Reference - HEAD'''".  
<source lang="bash">
git reset --hard HEAD
</source>


=Tagging fuentes=
Para añadir un tag a la versión actual:
<source lang="bash">
git tag -m "Tag for x.y.z_YYYYMMDD" "x.y.z_YYYYMMDD"
git push --tags
</source>


=Crear una nueva rama=
Este es el comando a usar para crear una nueva rams desde un repositorio clonado de desarrollo:
<source lang="bash">
git branch x.y
git push origin x.y
</source>


Disponible más información sobre el uso de GIT [http://wiki.eclipse.org/EGit/User_Guide aquí].
=Estadísticas=
Para contar el número de cambios que los desarrolladores han realizado entre una versión x e y:
* Primero, ejecute git merge-base para conocer el id del último commit común entre x e y
<source lang="bash">
git merge-base origin/3.1 origin/develop
</source>
* Entonces ejecutar un git log para obtener un listado desde el último commit común al último commit
<source lang="bash">
git log id_found_at_previous_step..HEAD
</source>
* Para obtener el total de líneas añadidas/eliminadas:
<source lang="bash">
git log --ancestry-path --numstat --pretty="%H" id_found_at_previous_step..HEAD | awk 'NF==3 {plus+=$1; minus+=$2} END {printf("+%d, -%d\n", plus, minus)}'
</source>


=Obtener la última versión de los fuentes por descarga=
Para contar el número de cambios finales entre una versión x e y (se diferencia del recuento anterior porque en el recuento anterior, un cambio puede hacerse 2 veces en dos momentos diferentes para cambiar de forma diferente. Con el segundo método, se cuentan los cambios finales encontrados si los cambios estaban bien al primer intento):
* Usar el método anterior pero usando git diff.
<source lang="bash">
git diff -b -M --numstat --pretty="%H" id_found_at_previous_step..HEAD | awk 'NF==3 {plus+=$1; minus+=$2} END {printf("+%d, -%d\n", plus, minus)}'
</source>


Este método le permite obtener las fuentes de la rama principal de desarrollo (llamada HEAD): Consiste en obtener la última versión de los archivos de Dolibarr que se empaquetan cada noche en un archivo tgz.
Vaya a la página [http://www.dolibarr.org/downloads/cat_view/64-development-version last source version of the day].


Los archivos antiguos serán reemplazados por los nuevos.
Más información del uso de GIT disponible en [http://wiki.eclipse.org/EGit/User_Guide here].
El inconveniente de este método es que debe descargar y descomprimir los paquetes cada vez que desee obtener actualizaciones.

Latest revision as of 02:21, 14 September 2023

Esta es información sobre cómo puede obtener las fuentes del proyecto Dolibarr.

Obtener la última versión de los fuentes por descarga

Este método le permite obtener los fuentes de la rama de desarrollo principal (Llamada HEAD). La operación consiste en recuperar la última versión de los archivos de la aplicación Dolibarr que son compilados cada noche en un archivo. Este archivo se encuentra disponible en el siguiente enlace:

Last GitHub snapshot of Dolibarr source files.

Los nuevos archivos reemplazarán los antiguos

El problema de este método es que hace falta descargar y descomprimir el paquete cada vez que deseemos actualizar.

Obtener la última versión de los fuentes usando un acceso anónimo GIT

Prerrequisitos

Debe tener una instalación funcional de Eclispe, el plugin EGit también debe estar instalado. Para instalarlo, use Help desde el menú Eclipse, seguidamente haga click en Install new software y click en Available software site. En la lista de direcciones que aparece, busque el enlace :

http://download.eclipse.org/egit/updates

Seguidamente escoja instalar EGit.

Proceso de Clonado

Para obtener los fuentes con el objetivo de editarlos, necesita un GitHub con acceso de escritura al repositorio Git remoto y un cliente GIT (herramienta en línea de comandos en linux o el cliente GIT en Eclipse). Vea el siguiente capítulo para ello..

En primer lugar, introducir el valor del repositorio con los fuentes de referencia en la herramienta de cliente de GIT.

  • Con Eclipse, escoja "Clone GIT repository". Introduzca la URL GIT del proyecto a obtener.

La Url para los fuentes oficiales de Dolibarr es:

git@github.com:Dolibarr/dolibarr.git
or
git://github.com/Dolibarr/dolibarr.git (read only)

Su cliente GIT de Eclipse le preguntará en que ramas está interesado. Las ramas no seleccionadas podrán seleccionarse después mediante un "Fetch" desde la vista "Remotes", pero trate de elegir sólo la rama que usted necesita. Esto le ahorrará tiempo y problemas en el futuro.

  • Con GIT desde la línea de comandos:

Primero configure su cliente GIT:

git config --global user.name "Su Nombre"
git config --global user.email "usuario@dominio.com"
git config --list

Clone el repositorio localmente:

git clone git://github.com/Dolibarr/dolibarr.git dolibarr

Y si usa firewall, puede usar la URL alternativa:

git config --global http.proxy http://proxyuser:proxypass@proxyserver:proxyport
git clone https://gitlogin:gitpassword@github.com/Dolibarr/dolibarr.git dolibarr

Una vez que este paso se valida, el cliente de GIT se descargará todos los archivos del servidor GIT remoto. Esto puede durar varios segundos o minutos. Una vez que la descarga haya finalizado, vaya a la vista GIT - Branches - Local. En la mayoría de los casos, la rama que ha escogido ya está disponible.

Si no:

  • Con Eclipse, haga click con el botón derecho en"Branches - Remotes - La rama que desea clonar localmente".

Si escoge "Create Branch", duplicará el contenido de la rama para trabajar en forma local. Si escoge "Checkout", actualizará la vista "Working Directory".

  • Con GIT desde la línea de comandos:
git checkout develop
git checkout x.y

Esto creará la rama local y realizará un checkout de forma automática.

Si usa Eclipse, una vez que su rama se crea a nivel local, cree un proyecto de PHP a partir del asistente eligiendo "Create from existing project" y seleccione el directorio de su repositorio GIT local (No use create a PHP project from scratch). A continuación haga click con el botón derecho del ratón en su workspace y escoja "Team - Share". Seleccione GIT y haga click en la opción "Use or create repository in parent folder of project".

Un método alternativo es usar el menú File->Import, Git->Project from Git, Seleccione el repositorio GIT y haga click en Next, Use New project Wizard -> Php project, indique el directorio de su repositorio local GIT.


Seguidamente, puede configurar Eclipse para evitar analizar todos los archivos del proyecto (Outline scanner, TODO scanner, syntax scanner...). Esto evitará que Eclipse se vuelva lento. Para ello, haga clic derecho en el proyecto, elija Build Path y configure como la siguiente captura de pantalla.

 

Obtener la última versión de los fuentes usando un acceso completo GIT

Prerrequisitos

Debe tener una instalación funcional de Eclipse, el plugin EGit también debe estar instalado. Para instalarlo, use Help desde el menú Eclipse, seguidamente haga click en Install new software y click en Available software site. En la lista de direcciones que aparece, busque el enlace :

http://download.eclipse.org/egit/updates

Seguidamente escoja instalar EGit.

Debe crear antes una cuenta en GitHub (https://github.com/) y subir un certificado público RSA o DSA en su account profile.

Proceso de Clonado

El proceso es el mismo que el explicado en la obtención de los fuentes con acceso anónimo.

la URL a usar para clonar GIT es la misma:

git@github.com:Dolibarr/dolibarr.git

Tenga en cuenta que también se encuentra disponible una dirección URL HTTP, pero a veces se encuentra fuera de línea:

https://yourgitlogin@github.com/Dolibarr/dolibarr.git

Actualizar su repositorio

Para actualizar su workspace local, haga clic con el botón derecho en el proyecto de Eclipse y seleccione "Pull".

Si usted realiza algunos cambios en su workspace de Eclipse, el cliente GIT realizará una fusión automática en los archivos que hayn cambiado en la referencia GIT remoto.

  • Si se producen conflictos, la fusión marcará todos los archivos con conflictos como "conflict" (Ver más adelante para resolver este estado).
  • De lo contrario, recibirá todos los archivos de la nueva versión, incluyendo todos sus cambios.

Si ya ha comiteado algunos archivos en su repositorio local, su workspace se marcará como "Merged". Todo lo que hay que hacer es crear un commit para validar su repositorio local, incluyendo sus cambios y los cambios realizador por otros.

Comitear y publicar sus cambios

Para ver todos los cambios realizados en su workspace y la espera de ser añadidos en Git:

  • Con la línea de comandos GIT:
git status
git diff subdir/filename

Para añadir los cambios realizados en el repositorio local en el índice GIT, confirmar este índice:

  • Con Eclipse: Clic con el botón derecho del ratón en el archivo o directorio a comitear. Seleccione archivo a añadir/eliminar/actualizar en el comit.
  • Con la línea de comandos GIT:
git commit -a -m "Commit text"

Esto guardará y añadirá todos los cambios en su rama local.

Para realizar un push al repositorio GIT del servidor,

  • Con Eclipse: hacer clic con el botón derecho en el proyecto y elegir "Team - Push to Upstream".
  • Con la línea de comandos GIT:
git push

Para cancelar un comit:

  • Con la línea de comandos GIT:
git revert IdCommit  o  git revert HEAD  (para el último comit)

Añadir un commit externo al repositorio

Algunos desarrolladores pueden trabajar y realizar commits en su repositorio GIT después de haber realizado un fork al proyecto.Si está interesado en conseguir esos cambios, puede importarlos realizando los siguientes pasos en Eclipse:

  • Primero, vaya a la vista GIT setup y haga clic con el botón derecho del ratón en"Remotes" de su Eclipse Git working space y elija "Create a remote..."
  • Indique nombre o el fork remoto que el desarrollador ha creado (en la mayoría de los casos, es el GIT login del desarrollador). Por ejemplo: "thedevlogin". Elija también "Configure Fetch".
  • Teclee la URI del respositorio GIT del desarrollador. Por ejemplo: git://github.com/thedevlogin/dolibarr.git. Añada un valor refspec value para declarar la rama que desea obtener. Por ejemplo: refs/heads/master:refs/remotes/thedevlogin/master. Clic "Save and Fetch". Se habrá añadido una nueva entrada en "Remote Tracking" haciendo posible la lectura/obtención de los commits realizados en esa rama.

Ahora, ir a la línea de comandos de su repositorio GIT (en la mayoría de casos en Linux, es/home/sulogin/git/sudolibarr) y teclee el comando git cherry-pick:

git cherry-pick -x commitid

donde el commitid es el valor del commit id que desea obtener.

Una vez hecho esto, vuelva a Eclipse y haga un refresh sobre el proyecto. Verá los archivos modificados aparecen con decoradores (con conflictos si hay).

Solucionar un conflicto

Si un archivo se ha marcado como "Conflict" después de un "Pull", ábralo para editarlo. Busque el string "<<<<<<<<<<", podrá ver parte del código conflictivo entre "<<<<<<<<<" y ">>>>>>>>". Edite manualmente las líneas de código y elimine "<<<<<<<<" y ">>>>>>>".

Seguidamente haga clic con el botón derecho del ratón en el archivo y seleccione "Add".

Si prefiere perder completamente todos los cambios realizados por usted en todos los archivos (restaurar su workspace con el contenido del repositorio remoto), puede realizar un hard resett:

  • Con Eclipse, clic con el botón derecho del ratón sobre el nombre del proyecto y seleccione "Reset" - "Hard" - "Reference - HEAD".
  • Con la línea de comandos GIT, se puede lograr esto con el comando
git reset --hard HEAD

Tagging fuentes

Para añadir un tag a la versión actual:

git tag -m "Tag for x.y.z_YYYYMMDD" "x.y.z_YYYYMMDD"
git push --tags

Crear una nueva rama

Este es el comando a usar para crear una nueva rams desde un repositorio clonado de desarrollo:

git branch x.y
git push origin x.y

Estadísticas

Para contar el número de cambios que los desarrolladores han realizado entre una versión x e y:

  • Primero, ejecute git merge-base para conocer el id del último commit común entre x e y
git merge-base origin/3.1 origin/develop
  • Entonces ejecutar un git log para obtener un listado desde el último commit común al último commit
git log id_found_at_previous_step..HEAD
  • Para obtener el total de líneas añadidas/eliminadas:
git log --ancestry-path --numstat --pretty="%H" id_found_at_previous_step..HEAD | awk 'NF==3 {plus+=$1; minus+=$2} END {printf("+%d, -%d\n", plus, minus)}'

Para contar el número de cambios finales entre una versión x e y (se diferencia del recuento anterior porque en el recuento anterior, un cambio puede hacerse 2 veces en dos momentos diferentes para cambiar de forma diferente. Con el segundo método, se cuentan los cambios finales encontrados si los cambios estaban bien al primer intento):

  • Usar el método anterior pero usando git diff.
git diff -b -M --numstat --pretty="%H" id_found_at_previous_step..HEAD | awk 'NF==3 {plus+=$1; minus+=$2} END {printf("+%d, -%d\n", plus, minus)}'


Más información del uso de GIT disponible en here.