Proyecto

General

Perfil

Uso básico de github » Histórico » Versión 4

Moreno León, Jesús, 08-06-2012 07:35

1 1 Molina Coballes, Alberto
h1. Uso básico de github
2
3
Para desarrollar la documentación de forma colaborativa se va a utilizar el sistema de control de versiones git, en particular se va a utilizar la forja github. Se ha creado en github la cuenta pi-fp-cloud que se encargará de ir creando todos los repositorios a los que se irán uniendo todos los participantes como colaboradoes.
4
5
h2. Crea una cuenta en github
6
7
* Entra en github.com y crea una cuenta nueva
8 4 Moreno León, Jesús
* Configura las claves ssh siguiendo las instrucciones. (En algunas versiones de Ubuntu, tras la configuración de las claves puedes obtener el error _Permission denied (publickey)_ durante la conexión. Tienes información de cómo resolverlo en [1]).
9 1 Molina Coballes, Alberto
* Solicita en el foro que te añadan como colaborador a los repositorios de pi-fp-cloud
10
11
h2. Usando el repositorio por primera vez
12
13
* Abre una terminal
14
* Instala el paquete git
15
* Configura sesión de git:
16
<pre>
17
git config --global user.name "<pon aquí tu nombre>"
18
git config --global user.email <pon aquí tu email>
19
</pre>
20
* Ubícate en el directorio donde quieras que se clonen los repositorios (supongamos ~/github):
21
<pre>
22
mkdir ~/github
23
cd ~/github
24
</pre>
25
* Clonamos un repositorio (por ejemplo el de infraestructura):
26
<pre>
27
git clone git@github.com:pi-fp-cloud/infraestructura.git
28
</pre>
29
Tendrás en local el directorio infraestructura con la última versión de todos los ficheros.
30
31
h2. Haciendo modificaciones y subiéndolas a github
32
33
* Podemos hacer modificaciones sobre los ficheros existentes o crear ficheros nuevos que queramos añadir al repositorio. Por ejemplo, supongamos que hacemos alguna modificación sobre el fichero servidores.xml, si preguntamos a git sobre el estado actual, nos responderá:
34
<pre>
35
$ git status
36 2 Molina Coballes, Alberto
</pre>
37
<pre>
38 1 Molina Coballes, Alberto
# On branch master
39
# Changed but not updated:
40
#   (use "git add <file>..." to update what will be committed)
41
#   (use "git checkout -- <file>..." to discard changes in working directory)
42
#
43
#	modified:   src/servidores.xml
44
#
45
no changes added to commit (use "git add" and/or "git commit -a")
46
</pre>
47
Es decir que ha cambiado el fichero src/servidores.xml, pero no se ha consignado (no se ha marcado para actualizar en el repositorio), si realmente queremos incluir las modificaciones en el repositorio, hacemos:
48
<pre>
49
git add src/servidores.xml
50
</pre>
51
Si volvemos a preguntar por el estado de git:
52
<pre>
53
$ git status
54 2 Molina Coballes, Alberto
</pre>
55 3 Molina Coballes, Alberto
<pre>
56 1 Molina Coballes, Alberto
# On branch master
57
# Changes to be committed:
58
#   (use "git reset HEAD <file>..." to unstage)
59
#
60
#	modified:   src/servidores.xml
61
#
62
</pre>
63
Vamos a actualizar el repositorio (en git hay que hacerlo en dos pasos a diferencia de otros sistemas de control de versiones):
64
<pre>
65 2 Molina Coballes, Alberto
git commit -m "Comentario sobre el fichero modificado"
66
git push
67 1 Molina Coballes, Alberto
</pre>
68
69
h2. Abriendo una sesión sobre un repositorio existente
70
71
El clonado del repositorio sólo se suele hacer la primera vez, las demás simplemente se accede al directorio donde se encuentra la copia local y se actualiza:
72
73
* Abrimos una terminal
74
* Configura sesión de git (se puede añadir al fichero de configuración de la shell (~/.bashrc por ejemplo)):
75
<pre>
76
git config --global user.name "<pon aquí tu nombre>"
77
git config --global user.email <pon aquí tu email>
78
</pre>
79
* Accede al directorio con la copia local del repositorio (con el mismo ejemplo de antes):
80
<pre>
81 2 Molina Coballes, Alberto
cd ~/github/infraestructura
82 1 Molina Coballes, Alberto
</pre>
83
Actualiza el repositorio local:
84
<pre>
85
git pull
86
</pre>
87 4 Moreno León, Jesús
88
[1] https://bugs.launchpad.net/ubuntu/+source/gnome-keyring/+bug/201786