1. Iniciar un repositori git

$ git init

2. Configurar-lo

$ git config –global user.name “John Doe”
$ git config –global user.email johndoe@example.com

3. Afegir arxius de rastreig

Cada vegada que modifiquem alguna cosa cal dir-li a GIT que ho tinga en compte.

$ git add .

4. Crear branca

$ git checkout -b gh-pages

5. Canviar de branca

$ git checkout master

6. Mirar en quina branca estem

$ git branch

7. Desfer últim commit

$ git reset –hard HEAD~1

8. Desfer fins arribar a 5 commits abans

$ git reset –hard HEAD~5

Consulta la font

9. Desfer borrar arxiu abans de fer el commit

El comandament git status ens dóna la resposta a aquest problema.

Ho resoldrem així:

git status

Identificarem l’arxiu que hem acabat de borrar i el restaurem

git checkout – arxiu_borrat

Haurem recuperat l’arxiu i ja podem fer el commit.

10. Editant l’últim commit l’última confirmació

$ git commit –amend

La instantània és la mateixa, sols pots canviar el que has posat com a missatge del commit

11. Desfer el que tenim al GIT local i baixar el que hi ha al server

$ git fetch

12. Clonar repositori remot

$ git clone https://github.com/inclusa/inclusa

13. Sincronitzar des del repositori remot al local

$ git pull

14. Sincronitzar des del repositori local al remot

$ git push

15. Evitar que GIT demane usuari i contrasenya

$ git config –global credential.helper ‘store –file ~./git-credentials’

La contrasenya del repositori remot queda magatzemada al fitxer .git-credentials

16. No guardar la contrasenya en disc

$ git config –global credential.helper ‘cache –timeout=3600’

Transcorreguda un hora tornarà a demanar la contrasenya.

17. 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

18. Iniciar repositori en GITHub des de terminal amb el protocol https://

echo “# repositori” » README.md
git init
git add README.md
git commit -m “comentari”
git remote add origin https://github.com/usuari/repositori.git
git push -u origin master

19. Explicació

echo: Afegix la informació al fitxer, si no existeix el crea

git init: Inicia el repositori creant els arxius de rastreig a .git

git add README.md: Afegig l’arxiu README.md per tal que es rastrege

git commit -m "comentari": Crea el punt d’emmagatzemmament del contigut actual, emmgatzema el contingut de del projecte establint fixant un punt, també afegeix un comentar

git add remote add origin https://: Afegeig repositori remot

git push -u origin master: publica el repositori local a la branca master remota

20. Publicar a un repositori existent a GITHub des de la línia de comandamentsamb el protocol https://

git remote add origin https://github.com/usuari/repositori.git

git push -u origin master

21. Iniciar repositori en GITHub des de terminal amb el protocol ssh

echo “# repositori” » README.md
git init
git add README.md
git commit -m “comentari”
git remote add origin git@github.com:usuari/repositori.git
git push -u origin master

22. Publicar a un repositori existent a GITHub des de la línia de comandamentsamb el protocol ssh

git remote add origin git@github.com:usuari/repositori.git

git push -u origin master

23. Branques en GIT

Tots els projectes, per defecte, tenen la branca MASTER on, al final, acaben totls els desenvolupaments que fem.

Podem definir altra branca, per exemple, DEVELOP on anar fent tots els xicotets canvis que necessitem fer.

Per canviar de branca, per situar-nos a una altra branca

$ git checkout -b develop

checkout → canvia de branca -b → crea la branca

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 quinies són les líies bones ens ho preguntarà.

24. 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’

25. Banques en GIT

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 podriem 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 pasos endaavnt, quan está provada podrem incorporar-ho a MASTER.

MASTER		RELEASE		DEVELOP
X
|
|\
| \ __→__→__→__→__→__→__→__→__→__→__ X
|                                    ↓
|                                    |
|                                    |
|                 X __←__←__←__←__ ← X
|                /
|               /
|__←__←__←__←_ X
X               

26. Si fallem podem tronar enrere

$ git checkout –fitxer

Inclús podem dir “tot el que hem fet pins ara no val per a res”

$ git fetch origin && git reset –hard origin/master

27. 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

28. 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"

29. GITHub

30. Fonts

31. Video