Control de versions de documents amb GitHub

Colectic - Informàtic
Autor/a: 
Xavi Aranda
GitHub és un programa que et permet col·laborar amb altres persones. Imatge d'Antonio Silveira. Llicència d'ús CC BY 2.0 Font: Antonio Silveira. Llicència d'ús CC BY 2.0
GitHub és un programa que et permet col·laborar amb altres persones. Imatge d'Antonio Silveira. Llicència d'ús CC BY 2.0
GitHub és una eina excel·lent per la comunitat de desenvolupadors i desenvolupadores. Però també pot ser interessant per les entitats. Daniel Cukier. Llicència d'ús CC BY-ND 2.0 Font: Daniel Cukier. Llicència d'ús CC BY-ND 2.0
GitHub és una eina excel·lent per la comunitat de desenvolupadors i desenvolupadores. Però també pot ser interessant per les entitats. Daniel Cukier. Llicència d'ús CC BY-ND 2.0

Control de versions de documents amb GitHub

Colectic - Informàtic
Resum: 

GitHub és un servei d’allotjament de repositoris Git, amb el qual podreu controlar les diferents versions d’un document o projecte. És una eina utilitzada en el món de la programació que també pot tenir certa utilitat en el món de les entitats.

Moltes vegades en el món de les entitats es realitzen projectes que tenen continuïtat, any rere any. Per a fer realitat aquest projecte, cal redactar-lo en un document, en el qual s’exposin els objectius i com es treballarà per aconseguir-los.

Si el projecte té continuïtat, segurament caldrà afegir millores en el document on heu plasmat aquesta idea de projecte. I al cap d’uns anys, és molt probable que volgueu visualitzar tota l’evolució d’aquesta iniciativa. És quan sorgeix la necessitat de tenir un control de versions del projecte o del conjunt de documents.

Actualment existeixen moltes entitats que utilitzen aquest tipus de programari. Una d’aquestes és Softcatalà, on en aquesta entrevista ens expliquen com utilitzen un programari de control de versions. En aquest cas, el programari que utilitzen és GitHub, que és un allotjament de control de versions tipus Git.

Anem a descobrir com funciona aquest programari i en quines situacions el podeu utilitzar.

Què és Git i Github?

Git és un programa que realitza la funció de control de versions. Va ser dissenyat per Linus Torvalds, l’impulsor del kernel Linux que porten totes les distribucions GNU/Linux. L’equip de Torvalds necessitava un programa que ordenés i controlés totes les versions del kernel Linux. Una característica de Git és que tota la informació és distribuïda, d’aquesta manera no hi ha perill de perdre la informació amb la qual treballem.

GitHub és una plataforma de desenvolupament col·laboratiu, on s’allotjen repositoris o projectes guardats en Git. La gran diferència amb Git, és que Github té una interfície gràfica molt més fàcil d’utilitzar. Git funciona únicament amb ordres que executeu en la línia d’ordres.

En aquest recurs us explicarem com funciona GitHub, ja que la interfície gràfica us ajudarà molt a entendre l’eina i a fer-la funcionar. I ho farem en un exemple, la modificació dels estatuts de la vostra entitat.

Com podeu aprofitar GitHub per la vostra entitat?

Tot i que en aquest recurs agafarem l’exemple dels estatuts de la vostra entitat, podeu utilitzar GitHub en documents que aniran creixent al llarg del temps, i que en un futur necessitarà un control de versions. Aquests tipus de documents, poden ser els següents:

  • Projectes redactats que tenen continuïtat any rere any.
  • Els estatuts de l’entitat.
  • El règim intern de l’entitat.
  • Protocols.
  • Preguntes Freqüents.
  • Notificacions.
  • Procediments.
  • Tot el contingut de la vostra pàgina web.

Terminologia

Git i Github utilitzen una terminologia molt concreta que cal saber diferenciar mínimament. És la següent:

  • Repositori: és el projecte que guardarem. Aquest projecte pot estar guardat en un fitxer o varis fitxers.
  • Branca Master: és el projecte en la seva versió oficial.
  • Branca: és una derivació d’un projecte en el qual estem treballant o d’un projecte d’una tercera persona que agafem per modificar-la.
  • Commit: són els canvis que efectues en un projecte, sense haver modificat el projecte màster.
  • Push: quan els canvis que s’han proposat, passen a formar part del projecte màster.

Crear un repositori amb GitHub

Primer de tot heu de crear-vos un compte a GitHub. GitHub és gratuït, en el cas que tot el que allotgeu sigui públic i accessible per a tothom. En el cas de voler un compte privat, caldrà pagar una quota a GitHub. Un cop heu entrat amb el vostre nom d’usuari o usuària, heu de crear el vostre primer repositori. A la part esquerra, trobareu la secció ‘Respositories’ amb un botó verd que posa ‘New’. Cliqueu allà.

Veureu que us demana poques opcions. La més important i la imprescindible és el nom del repositori.

Ja tenim el repositori creat. Ara només caldrà omplir-lo amb el vostre projecte o modificar altres projectes de terceres persones.

Pujar fitxers al repositori

Per pujar els fitxers que formaran part del vostre respositori o projecte, només cal que cliqueu l’opció ‘Code’ del menú del vostre repositori, i clar l’opció ‘Uploading an existing file’ que trobareu a la secció ‘Quick setup’. En el nostre cas, pujarem el document model d’estatuts que ens ofereix la web del Departament de Justícia de la Generalitat de Catalunya.

Com veureu, cada vegada que afegiu un fitxer o fitxers, esteu fent un canvi al repositori. I aquest canvi s’ha de registrar mitjançant un ‘Commit changes’. Trobareu les caixes de text per omplir la informació del ‘commit’ sota l’opció de pujar els fitxers.

Fer modificacions al projecte i tornar-lo a pujar

Imagineu-vos que voleu treballar en els estatuts de la vostra entitat i fer les modificacions que desitgeu. Primer de tot, el que haureu de fer és descarregar el fitxer. Si entreu dins el repositori del projecte, veureu tots els fitxers que en formen part. En aquest cas, només veureu el document dels estatuts. Si cliqueu sobre d’ell, veureu que us apareix una opció anomenada ‘Download’. Si cliqueu aquí, us descarregarà el fitxer.

Ara, podeu fer les modificacions que voleu als vostres estatuts: afegir articles, adaptar-los, afegir les finalitats etc. Un cop heu acabat, haureu de tornar a desar el fitxer en el vostre GitHub. Dintre la terminologia Git, això seria fer un ‘commit’, en el cas que només féssiu un canvi sense afectar el projecte màster o un ‘push’ s’hi modifiquem directament el projecte màster.

Per desar el fitxer, només heu d’entrar en el vostre repositori i clicar el botó ‘Add file’, ‘Upload files’, seleccionar el fitxer i afegir a la secció ‘Commit Changes’ tots els canvis que efectuem. Fixeu-vos que tenim dues opcions, afegir un ‘Commit’ directament al projecte màster o fer una nova branca. Més endavant veureu perquè pot ser útil crear una nova branca.

Control de versions

Com vèieu, publicar un repositori, afegir fitxers, descarregar-los, modificar-los i tornar-los a publicar al repositori, no és complicat. Un cop heu fet aquest seguit d’operacions, és molt probable que hàgiu de controlar les diferents modificacions que s’han fet al vostre repositori. És el que es coneix com a control de versions.

Per controlar les versions del vostre repositori, heu d’anar al vostre repositori i clicar l’opció d’historial de ‘Commits’. En aquesta opció veureu tots els canvis que s’han produït en el vostre repositori, diferenciats per dia i hora. De cada modificació, podeu descarregar-vos els fitxers i veure les modificacions efectuades. D’aquesta manera podreu controlar tots els canvis que s’han produït i prendre les decisions més oportunes.

Participar en altres projectes i altres opcions interessants de GitHub

Tal com hem explicat al principi, GitHub té versió gratuïta i versió de pagament. La versió de pagament està destinada exclusivament per crear repositoris privats. En la versió gratuïta, tots els repositoris són visibles per a tothom, i permeten que la gent hi col·labori.

Per participar en altres projectes, hi ha una opció interessant que és la de ‘Pull request’. Si cerqueu al cercador, algun projecte i voleu participar-hi, només heu de clicar l’opció de ‘Pull request’. Això també funciona a la inversa, si algú vol participar en el vostre repositori, també pot clicar l’opció del ‘pull request’.

GitHub també té altres opcions interessants, com les següents:

  • Gestionar projectes: mitjançant aquesta opció podreu gestionar tot un projecte sencer, amb: tasques, estat de situació, espais de treball, progrés etc.
  • Wiki: GitHub permet crear un espai wiki per a cada repositori. En aquest espai wiki podreu crear tota la documentació de l’evolució del vostre projecte.
  • Estadístiques: estadístiques de contribucions al vostre projecte, visites, modificacions efectuades etc.