Aquest tutorial és una guia ràpida per a instal·lar i utilitzar GitHub. Aquí s'explica com crear un repositori local, com connectar aquest repositori local a l'repositori remot de Github (on tothom ho pot veure), com confirmar els canvis i finalment com empènyer tot el contingut de l'repositori local cap a GitHub, entre altres tasques comunes .
Abans de començar, és important tenir en compte que aquest tutorial suposa un coneixement bàsic dels termes utilitzats en Git: empènyer (push), estirar (pull), guardar els canvis (commit), repositori (repository), etc. També requereix el registre previ a GitHub.
Instal·lació de Github
A Debian / Ubuntu i derivats:
sudo apt-get install git
En Fedora i derivats:
sudo yum install git
En Arc i derivats:
suo pacman -S git
Configuració inicial de Github
Una vegada que la instal·lació s'ha completat amb èxit, el següent pas és configurar els detalls de configuració de l'usuari GitHub. Per a això, cal utilitzar els següents comandaments substituint «nom_usuari» amb el teu nom d'usuari GitHub i «email_id» amb l'adreça de correu electrònic utilitzada per crear el compte de GitHub.
git config --global user.name "nom_usuari" git config --global user.email "email_id"
Creació d'un repositori local
El primer és crear una carpeta en el teu ordinador, que servirà com un repositori local. Per això, només cal executar la següent comanda:
git init Mytest
Aquesta comanda crea la carpeta MyTest. Al seu torn, la sub-carpeta .init fa que MyTest sigui reconegut com un repositori local de Git.
Si es crea el repositori amb èxit, apareixerà una línia similar a la següent:
Initialized empty Git repository in /home/el teu_usuari/Mytest/.git/
Tot seguit, cal entrar a la carpeta MyTest:
cd Mytest
Creació d'un arxiu README per descriure el repositori
L'arxiu README s'utilitza generalment per descriure el que el repositori conté o el que el projecte es tracta. Per crear un, n'hi ha prou executar:
gedit README
Una vegada que hagis ingressat la descripció de l'repositori, no oblidis guardar els canvis.
Addició dels arxius de l'repositori a un índex
Aquest és un pas important. Abans de poder pujar els canvis a Github o un altre servidor compatible amb Git, cal indexar tots els arxius continguts en el repositori local. Aquest índex contindrà els fitxers nous així com els canvis als arxius existents en el repositori local.
En el nostre cas, el nostre repositori local ja conté un nou arxiu: el README. Per tant, anem a crear un altre arxiu amb un programa C simple i a el qual anomenarem ejemplo.c. Els continguts de la mateixa seran:
#include int main () {printf ( "hello world"); return 0; }
Així que, ara disposem de 2 arxius en el nostre repositori local: README i ejemplo.c.
El següent pas és afegir aquests arxius a l'índex:
git add README git add smaple.c
La comanda «git add» es pot utilitzar per afegir qualsevol nombre d'arxius i carpetes a l'índex. Per afegir tots els canvis, sense especificar el nom dels arxius, és possible executar «git add.» (Amb un punt a la fin).
Guardar els canvis realitzats en l'índex
Un cop afegits tots els arxius, és possible deixar un registre d'aquests canvis fent el que en l'argot es diu un «commit». Això vol dir que ja s'ha acabat d'afegir o modificar arxius i que els canvis poden ser enviats a l'repositori remot de Github. Per a això, cal executar la següent comanda:
git commit -m "missatge"
«Missatge» pot ser qualsevol missatge que descrigui breument els canvis en qüestió, per exemple: «vaig agregar tal funcionalitat» o «vaig corregir tal cosa», etc.
Creació d'un repositori en GitHub
El nom de l'repositori ha de ser el mateix que el repositori de sistema local. En aquest cas, serà «MyTest». Per a això, primer de tot, cal iniciar sessió en Github. Després, cal fer clic al signe més (+) a la part superior dreta de la pàgina i seleccionar l'opció "crear nou repositori». Finalment, cal omplir les dades i fer clic al botó «crear repositori».
Un cop fet això es crearà el repositori i serà possible pujar el contingut de l'repositori local al repositori GitHub. Per connectar-se a l'repositori remot en GitHub cal executar la comanda:
git remote add origin https://github.com/user_name/Mytest.git
Empènyer arxius de l'repositori local a l'repositori GitHub
El pas final és empènyer el contingut de l'repositori local cap al repositori remot, mitjançant la comanda:
git push master d'origen
Només resta introduir les credencials d'inici de sessió (nom d'usuari i contrasenya).
Això pujarà tot el contingut de la carpeta MyTest (repositori local) a GitHub (repositori extern). Per als projectes subsegüents ja no caldrà seguir aquests passos des de zero. En canvi, podràs començar des del pas 3 directament. Finalment, no t'oblidis que els canvis estaran disponibles des de la pàgina web de Github.
Creació d'una branca (branch)
Quan els desenvolupadors volen corregir errors o afegir noves funcions sovint creen una branca (branch) o còpia de el codi de manera que puguin realitzar commits en forma separada, sense afectar el projecte original. Després, quan hagin acabat poden fusionar aquesta branca de tornada a la branca principal (màster).
Per crear una nova branca hi ha dues opcions:
Opció llarga:
git branch Mirama # crea una nova branca anomenada Mirama git checkout Mirama - passa a utilitzar la branca Mirama.
Opció curta:
git checkout -b Mirama - crea i passa a utilitzar la branca Mirama
Un cop realitzats els canvis, cal afegir a l'índex de la branca i fer el commit corresponent:
git add. git commit -m "canvis en Mirama"
Després, cal tornar a la branca principal i prendre els canvis realitzats en Mirama:
git checkout master git merge Mirama
Finalment, cal esborrar Mirama (ja que els canvis van ser incorporats en màster):
git branch -d Mirama
I pujar màster a Github:
git push master d'origen
Creació d'un repositori Git derivat (fork)
Gràcies a Git ia l'existència de les grans llibreries de repositoris públics, com Github, gran part de les vegades no cal començar a programar el nostre projecte des de zero. En aquests casos, és possible prendre aquest codi de base per crear un nou projecte.
Per a això, el primer que cal fer és un fork d'un repositori existent, és a dir, un projecte derivat d'ell mateix que prengui com a base el codi de el projecte original. En Github, això s'aconsegueix fent clic al botó corresponent, com es veu en la captura a continuació.
Després, el que cal fer és clonar el repositori d'aquest nou projecte en el nostre ordinador. A tall d'exemple, podem utilitzar el meu repositori de Ankifox, una extensió del Firefox que permet afegir paraules a Anki, El qual es troba disponible a Github:
git clone https://github.com/usemoslinux/Ankifox.git
No oblidis reemplaçar https://github.com/usemoslinux/Ankifox.git per la URL corresponent al teu projecte. Obtenir aquesta direcció és molt fàcil, com es veu en la imatge a continuació.
Aquesta comanda crearà un directori anomenat «Ankifox», inicialitzarà directori .git dins d'ell, i baixarà totes les dades d'aquest repositori, per tal de treballar amb l'última versió.
Just alguna cosa asi estava buscant, un guia senzilla i pràctica que expliqués cada cosa pas a pas.
Per bibucket, imagino seria gairebé els mateixos passos cert?
Exacte. És molt similar. Només canvia la URL de l'amfitrió remot.
L'interessant de Bitbucket és que ofereix la possibilitat de crear repositoris privats (és a dir, que no és obert a el públic en general sinó que només és accessible per a un grup específic de gent). En Github això també és possible, però cal pagar. En canvi en Bitbucket no.
Salutacions! Pau.
Genial Amics !!! Dels millors espais en inter per assabentar-se i aprendre,
Si t'interessa el tema, et recomano que li facis un cop d'ull a un Estatut que va fer un membre de la comunitat sobre com utilitzar Git + Google Code, que també és ben interessant i pràctic:
https://blog.desdelinux.net/iniciando-un-proyecto-con-git-y-google-code-parte-i/
https://blog.desdelinux.net/iniciando-un-proyecto-con-git-y-google-code-parte-ii/
https://blog.desdelinux.net/iniciando-un-proyecto-con-git-y-google-code-parte-iii/
https://blog.desdelinux.net/iniciando-un-proyecto-con-git-y-google-code-parte-iv/
Salutacions! Pau.
Gràcies a tu m'agrada més Bitbucket .. de totes maneres bon article 😀
@usemoslinux Es pot crear «GitHub» per instal·lar automàticament sistema FreeBSD ?, seria de gran ajuda l'instal·lador gairebé automàtic com fa Arch, interessant post.
PD: seria bo una guia de GitHub per a FreeBSD.
Gràcies per la guia. Estic seguint-i he tingut un petit problema, no em deixa pujar el repositori local a l'remot. Em dóna el següent error:
[Root @ iou Mytest] #git push origin master
error: The requested URL returned error: 403 Forbidden while accessing https://github.com/miusuario/Mytest.git/info/refs
Alguna idea?
Possiblement el que està passant és que l'URL de l'repositori remot que estàs ingressant no és correcta. Això es pot deure a un error de mecanografia a l'ingressar la URL o al fet que realment no vas crear el repositori en Github (a través de la seva pàgina web).
Si el missatge d'error és exactament com el que Mostres, et va faltar canvi «elmeuusuari» pel teu nom d'usuari.
Ingressa git remote -v per veure les URL ingressades. Per canviar-la, només cal posar git remote set-URL origin URLNUEVA
Reemplaçant URLNUEVA per la URL correcta.
Finalment, no t'oblidis que l'URL distingeix entre majúscules i minúscules.
Salutacions! Pau.
Increïble!
Explicat perquè fins als menys avesats en la matèria, com jo, ho entenguem i puguem donar els nostres primers passos en git o Github. Ara em queden clars molts termes com push, pull o commit.
Moltes gràcies!
Era la idea! M'alegro molt!
Una abraçada i gràcies per deixar el teu comentari! Pau.
Genial
Un dubte com eliminar arxius que ja no els necessito ni en local ni en repositori de Github
Corregeixo el meu dubte per eliminar directoris amb arxius complets
git rm -rf directori
o Com ???
Per esborrar arxius:
git rm fitxer1.txt
Per esborrar directoris (i els seus continguts):
git rm -r midirectori
El va descobrir buscant, excel·lent gràcies
I com ho faig per utilitzar Gitlab?
Si més no, en elementaryOS no aconsegueix acabar la configuració ...
Aquest error em aparee quan vull fer un
git pull origen mestre
http://i.imgur.com/fy5Jxvs.png
Com s'explica en la captura que compartiu, hi ha canvis en el servidor que no estan incorporats en la versió emmagatzemada al teu ordinador. Al seu torn hi ha canvis en el teu ordinador que no estan al servidor (que són els que vós querés pujar). D'aquí el conflicte.
Proba fent primer un git pull com et suggereixen en la captura.
Gràcies per l'ajuda, molt bona info, la pondre en pràctica, gràcies novament
A la secció: «Empènyer arxius de l'repositori local a l'repositori GitHub»
, Es pot llegir:
«Això pujarà tot el contingut de la carpeta MyTest (repositori local) a GitHub (repositori extern). Per als projectes subsegüents ja no caldrà seguir aquests passos des de zero. En canvi, podràs començar des del pas 3 directament. »
Estic començant en això de Git. Em pots dir quin és el «pas 3»?
D'altra banda, les ordres:
git config -global user.name «nom_usuari»
git config -global user.email «email_id»
¿Són necessaris realitzar-los en cada sessió de Git?
De la mateixa manera, la comanda:
git init «nom de la carpeta»
¿Cal executar en cada sessió de treball amb Git o el repositori en qüestió, que passa quan tinc dos o mes repositoris?
Magnífics tutorials, felicitats, gràcies i salutacions.
vaig entendre perfectament, llàstima que no hi hagi un client GUI com el de Windows / Mac: /
arribi a qui per solucionar un problema que em surt de: fatal: Not a git repository (or any of the parent directories): .git ¿amb aquesta guia es soluciona ??? endavant gràcies 🙂
Username for 'https://github.com': «royalAlexander»
Password for 'https: // »royalAlexander» @ github.com':
remote: Invalid username or password.
fatal: Autenticació va fallar per 'https://github.com/royalSanity/Mytest.git/'
help me