GIT - Principals comandaments
git githubEls apunts originals són d’@inclusa, aniré modificant i actualitzant al gust amb el que vaja aprenent de GITHub… Gràcies!!
-
Comandaments fonamentals.
-Evitar que GIT demane usuari i contrasenya
-
Si entrem en pànic
-Desfer fins arribar a 5 commits abans
-
Treballant amb branques
-Canviar tot el contingut d’una branca
-
Altres comandaments
Comandaments fonamentals
Iniciar un repositori git
$ git init
Configurar-lo
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
Genera claus ssh
$ ssh-keygen
Evitar que GIT demane usuari i contrasenya
$ git config --global credential.helper store
La contrasenya del repositori remot queda magatzemada al fitxer .git-credentials
Seguir els canvis
$ git status
Afegir arxius de rastreig
Cada vegada que modifiquem alguna cosa cal dir-li a GIT que ho tinga en compte.
$ git add .
Clonar repositori remot
$ git clone https://github.com/sasogu/sasogu
Sincronitzar des del repositori remot al local
$ git pull
Sincronitzar des del repositori local al remot
$ git push
Opcional afegir la ruta htpps
per apuntar a un repositori concret.
Si entrem en pànic
Desfer últim commit
$ git reset --hard HEAD~1
Desfer fins arribar a 5 commits abans
$ git reset --hard HEAD~5
Editant l’últim commit i l’última confirmació
$ git commit --amend
La instantània és la mateixa, sols pots canviar el que has posat com a missatge del commit
Si fallem podem tornar enrere
$ git checkout --fitxer
Inclús podem dir “tot el que hem fet fins ara no val per a res”
$ git fetch origin && git reset --hard origin/master
Treballant amb branques
Crear branca
$ git checkout -b gh-pages
checkout
→ canvia de branca
-b
→ crea la branca
Canviar de branca
$ git checkout master
Mirar en quina branca estem
$ git branch
Canviar tot el contingut d’una branca
Sobreescrivim una branca a altra:
git branch -m master old-master
git branch -m gh-pages master
git push -f origin master
-m
renomena
-f
força
Borrar branca i borrar-la del server
Objectiu: volem borrar la branca gh-pages
$ git branch -d gh-pages ## elimina branca local
$ git push origin :gh-pages ## elimina branca remota
Branques en GIT
Tots els projectes, per defecte, tenen la branca MASTER on, al final, acaben tots els desenvolupaments que fem.
Podem definir altra branca, per exemple, DEVELOP on anar fent tots els xicotets canvis que necessitem fer.
Quan arribem a un punt on tots els canvis que hem anat fent son estables i ens interessa que apareguen en la branca MASTER farem un merge.
Primer ens situem en la branca MASTER
$ git checkout master
Ara li diguem que porte els canvis que hem fet a DEVELOP
$ git merge develop
Ara tindrem una nova versió a la branca MASTER
Pot passar que hi hagen problemes al fer el merge
, en cas que GIT no sàpiga distingir quines són les línies bones ens ho preguntarà.
Línies de treball amb branques
Les branques són línies de treball que tenen un objectiu. Posem un exemple de diferents branques amb diferents objectius de fases del treball.
MASTER
: branca principal on aniran tots els canvis finals, així que, en aquest cas podríem etiquetar diverses versions explicitant les fases V0.1, v0.2, v0.3, etc.
DEVELOP
: branca on es realitzen canvis més xicotets, però també es proven. Pot tenir diverses subbranques.
RELEASE
: branca on podem agrupar certs passos endavant, quan está provada podrem incorporar-ho a MASTER.
MASTER RELEASE DEVELOP
X
|
|\
| \ __→__→__→__→__→__→__→__→__→__→__ X
| ↓
| |
| |
| X __←__←__←__←__ ← X
| /
| /
|__←__←__←__←_ X
X
Altres comandaments
Publicar a un repositori existent a GITHub des de la línia de comandaments amb el protocol https://
git remote add origin https://github.com/usuari/repositori.git
git push -u origin master
Etiquetes en GIT
Podem definir etiquetes per a gestionar versions del nostre codi o punts importants de desenvolupament, de forma que després ens siga fàcil identificar les fases de desenvolupament
$ git tag -a v1.0 -m 'Versió 1.0'
Customitzar els colors
Configurem un alias.
Ara el cridarem git lg
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
No guardar la contrasenya en disc
$ git config --global credential.helper 'cache --timeout=3600'
Transcorreguda un hora tornarà a demanar la contrasenya.
GITHub
Fonts
- git - la guia sencilla
- Become a git guru
- Pro Git
- Cheat Sheets
- GIT - Tutorials Point
- Documentació base
- Documentació base en espanyol
- Guia ràpida de GIT
- GIT Màgic
Comentaris