Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia | ||
git [2021/10/03 17:19] enrique_mieza_sanchez [Merge] |
git [2023/09/19 14:22] enric_mieza_sanchez [Merge] |
||
---|---|---|---|
Línia 11: | Línia 11: | ||
* https:// | * https:// | ||
* [[https:// | * [[https:// | ||
+ | * Uns quants [[https:// | ||
{{ git.png?300 }} | {{ git.png?300 }} | ||
- | {{tag> #Daw #DawMp08 #DawMp08Uf4 # | + | {{tag> #Daw #DawMp08 #DawMp08Uf4 # |
+ | |||
+ | \\ | ||
+ | |||
+ | ===== Abans d' | ||
+ | |||
+ | {{ https:// | ||
\\ | \\ | ||
Línia 21: | Línia 28: | ||
Videotutorial per iniciar-se amb Git i Apache: | Videotutorial per iniciar-se amb Git i Apache: | ||
{{youtube> | {{youtube> | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ===== Comandes bàsiques ===== | ||
+ | |||
+ | {{ git-push-pull.png? | ||
+ | |||
+ | <WRAP tip> | ||
+ | Les comandes imprescindibles per treballar amb Git son: | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | </ | ||
+ | |||
+ | I tingueu en compte que hi ha alguns arxius importants: | ||
+ | * '' | ||
+ | * '' | ||
\\ | \\ | ||
Línia 46: | Línia 72: | ||
- Afegeix els dos nous arxius al sistema de control de versions:< | - Afegeix els dos nous arxius al sistema de control de versions:< | ||
- Comprova que els arxius han estat incorporats amb < | - Comprova que els arxius han estat incorporats amb < | ||
- | - Consolida els canvis al repositori local< | + | - Consolida els canvis al repositori local< |
- | - Crea't un //personal token// anant a < | + | - Si estàs en Linux, crea't un //personal token// anant a la web de de Github< |
- Puja els canvis al repositori principal.< | - Puja els canvis al repositori principal.< | ||
</ | </ | ||
Línia 82: | Línia 108: | ||
A partir d' | A partir d' | ||
- | $ git repo create < | + | $ gh repo create < |
Amb això ens crearà un repositori remot, però ens falta lligar el repositori remot amb un de local, i omplir els continguts. Si visiteu la URL del nou repo de Github, allà mateix us apareixerà una " | Amb això ens crearà un repositori remot, però ens falta lligar el repositori remot amb un de local, i omplir els continguts. Si visiteu la URL del nou repo de Github, allà mateix us apareixerà una " | ||
Línia 110: | Línia 136: | ||
$ git branch -a | $ git branch -a | ||
- | Per **crear una nova branca local** ho fem amb: | + | Per **crear una nova branca local** ho fem amb: (ULL! Això només la crea, però no l' |
$ git branch newbranch | $ git branch newbranch | ||
- | ULL! Això només la crea, però no l' | + | Per **canviar-nos a la nova branca**: |
$ git checkout newbranch | $ git checkout newbranch | ||
Línia 122: | Línia 148: | ||
**Configuració de branques locals i remotes** | **Configuració de branques locals i remotes** | ||
- | Molt imporant | + | Molt important |
Quan fem el procediment anterior (crear una branca remota des d'una local), automàticament ens ha creat una branca remota amb el mateix nom, i les enllaça perquè la local segueixi la remota. Aquesta situació, però, és configurable. | Quan fem el procediment anterior (crear una branca remota des d'una local), automàticament ens ha creat una branca remota amb el mateix nom, i les enllaça perquè la local segueixi la remota. Aquesta situació, però, és configurable. | ||
Línia 141: | Línia 167: | ||
<WRAP important> | <WRAP important> | ||
Abans de fer un merge convé repassar com està l' | Abans de fer un merge convé repassar com està l' | ||
- | $ git log --graph --all | + | $ git log --graph --all --oneline |
</ | </ | ||
- | El //merge// és una operació que comporta riscos potencialment. | + | El //merge// és una operació que comporta riscos potencialment. |
* **Conflicte de versions**: significa que a l'hora de barrejar el codi, Git ha detectat que les dues branques o versions tenen línies amb canvis simultanis incompatibles. Qui faci el //merge// haurà de decidir què fer, si triar una de les versions o fer una barreja de les dues. Caldrà que es revisin el arxius marcat amb conflicte, que ens mostraran les diferències amb algo tipus:< | * **Conflicte de versions**: significa que a l'hora de barrejar el codi, Git ha detectat que les dues branques o versions tenen línies amb canvis simultanis incompatibles. Qui faci el //merge// haurà de decidir què fer, si triar una de les versions o fer una barreja de les dues. Caldrà que es revisin el arxius marcat amb conflicte, que ens mostraran les diferències amb algo tipus:< | ||
<<<<<<< | <<<<<<< | ||
Línia 181: | Línia 207: | ||
\\ | \\ | ||
- | ===== Repositoris propis via SSH ===== | + | ===== Git submodules |
- | ... | + | |
+ | Sovint necessitem tenir submòduls, és a dir, dependències del projecte principal, per exemple, llibreries, que cal incloure perquè el projecte principal funcioni. | ||
+ | |||
+ | Referències: | ||
+ | * Doc oficial: https:// | ||
+ | * Una referència pràctica: https:// | ||
+ | |||
+ | Prenent el cas que tinguem un projecte '' | ||
+ | |||
+ | Entrem a la carpeta de Desktop i fem: | ||
+ | $ git submodule add https:// | ||
+ | $ git commit -am "add lib submodule" | ||
+ | $ git push | ||
+ | |||
+ | Ens apareixerà la carpeta '' | ||
+ | |||
+ | ==== Clonant de nou un repo amb dependències (submodules) ==== | ||
+ | |||
+ | A partir d'ara, quan clonem el projecte principal en una nova ubicació, ens apareixerà la carpeta '' | ||
+ | $ git submodule init | ||
+ | |||
+ | I després podem entrar a cadascuna de les llibreries i descarregar el codi pertinent: | ||
+ | $ cd Lib | ||
+ | $ git submodule update | ||
\\ | \\ | ||
+ | |||
+ | ===== Fer que git recordi les credencials ===== | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | Resumint, es pot fer així: | ||
+ | git config --global credential.helper store | ||
+ | git config --global credential.helper cache | ||
+ | |||
+ | No és molt recomanable deixar la //cache// permanentment. | ||
+ | |||
+ | Si volem limitar la //cache// durant 10 minuts (600 segons) es pot fer amb un // | ||
+ | |||
+ | git config --global credential.helper 'cache --timeout=600' | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ===== Com arreglar alguns errors típics de Git ===== | ||
+ | Aquest article ens ensenya alguns [[https:// | ||
+ | * Com utilitzar '' | ||
+ | * Com afegir un arxiu que he oblidat posar al darrer commit. | ||
+ | * Com esborrar un arxiu que he entrat per error al darrer commit. | ||
+ | * Com arreglar si has fet el commit a la //main trunk// (branca principal) en lloc d'a la teva branca. | ||
+ | * ...i algun més. | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | |||