...
Bloque de código |
---|
$ git add . $ git commit -m "Resuelto el conflicto de merges" |
Conflictos con uno mismo
En ocasiones GIT detecta 2 commits hacia el mismo fichero y a la hora de hacer un push de la rama nos puede dar problemas
...
Bloque de código |
---|
~/portalfundeweb (jira-XXX|REBASE 2/2) $ git rebase --continue .m2/settings.xml: needs merge You must edit all merge conflicts and then mark them as resolved using git add ~/portalfundeweb (jira-XXX|REBASE 2/2) $ git add . ~/git-pipeline/portalfundeweb (jira-XXX|REBASE 2/2) $ git rebase --continue Applying: arreglamos el problema con el settings ~/git-pipeline/portalfundeweb (jira-XXX) $ git push origin jira-IDI-132 Counting objects: 8, done. Delta compression using up to 4 threads. Compressing objects: 100% (8/8), done. Writing objects: 100% (8/8), 1.02 KiB | 0 bytes/s, done. Total 8 (delta 4), reused 0 (delta 0) remote: remote: To create a merge request for jira-IDI-132, visit: remote: https://gitlab.um.es/mncs/portalfundeweb/merge_requests/new?merge_request%5Bsource_branch%5D=jira-XXX remote: To https://gitlab.um.es/mncs/portalfundeweb.git aee3109..f09c0f7 jira-XXX -> jira-IDI-XXX |
Uso del fichero .gitignore
Hasta ahora habíamos indicado que se podían preparar los ficheros para el commit con un comando de la forma
Bloque de código |
---|
$ git add . |
Lo cual deja preparado para hacer commit a todos los archivos alcanzables desde el directorio actual y subdirectorios.
Si sólo queremos mandar un fichero al commit deberíamos usar
Bloque de código |
---|
$ git add FICHERO |
Sin embargo ésta es una labor algo tediosa y propensa a equivocaciones y olvidos cuando tenemos muchos ficheros que queremos preparar y otros que no (el resultado de compilaciones, ficheros de log, etc…).
Para facilitarnos esto crearemos en la raíz del proyecto el fichero .gitignore
Bloque de código |
---|
$ vim .gitignore |
Y le añadiremos contenido
Bloque de código |
---|
.m2/repository/
web/target/
ear/target/
*.log
*_.java |
Donde las 3 primeras líneas ordenan a git que ignore los cambios en estos directorios y sucesivos, después tenemos *.log
que hace que se ignoren todos los ficheros *.log encuentren donde se encuentren en el proyecto, también podremos añadir reglas más complejas usando el modificador !
, por ejemplo podríamos tener
Bloque de código |
---|
*.log
!application.log |
Que haría que git ignorase todos los archivos .log
salvo el que se llame application.log
...
Hacemos login en la aplicación
Buscamos la opción para generar una merge request
...