Skip to content

Commit 5f1fe32

Browse files
authored
Merge pull request #376 from pythoncanarias/issue#375
Nuevo doc de primeros pasos
2 parents f157153 + 3505b37 commit 5f1fe32

3 files changed

Lines changed: 159 additions & 0 deletions

File tree

CONTRIBUTING.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ proyecto](https://github.com/pythoncanarias/pycan-web/issues) para
77
para empezar a contribuir
88
al desarrollo.
99

10+
Si es la primera vez que vas a contribuir a un proyecto de _software_ libre,
11+
quizá te sea de ayuda este documento: [Cómo hacer tu primera contribución a
12+
Python Canarias](docs/primeros_pasos.md)
13+
1014
Además de las tareas propias de desarrollo, hay muchas otras formas de ayudar,
1115
una de las principales es aportar nuevas ideas para mejorar la web, así
1216
como avisarnos de cualquier error que encuentres en la misma.

docs/assets/github-fork.png

30.7 KB
Loading

docs/primeros_pasos.md

Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
## Cómo hacer tu primera contribución a Python Canarias
2+
3+
Antes de nada, gracias por tu interés, solo eso ya significa bastante para
4+
nosotros. Hacer una contribución al _software_ libre es muy interesante, no
5+
solo para contribuir a la comunidad, también es una forma de aprender y
6+
adquirir nuevas competencias, y de formar parte de nuestra comunidad.
7+
8+
### Primer paso, empezar con Git y GitHub
9+
10+
Lo primero que necesitas es un conocimiento, aunque sea básico, de Git y GitHub.
11+
Si no sabes nada de Git ni de GitHub, te recomendamos el tutorial
12+
de [La guía para principiantes de Git y Github de FreeCodeCamp](https://www.freecodecamp.org/espanol/news/guia-para-principiantes-untitled/).
13+
14+
También necesitarás una cuenta en [GitHub](https://github.com/), que es donde
15+
tenemos almacenado el código fuente de nuestro proyecto. Si no tienes cuenta
16+
puedes crearte una sin problemas, es totalmente gratuito.
17+
18+
Nuestro proyecto está alojado en la siguiente página:
19+
20+
[https://github.com/pythoncanarias/pycan-web](https://github.com/pythoncanarias/pycan-web)
21+
22+
23+
### Segundo paso, hacer un _fork_ del repositorio
24+
25+
Con tu cuenta de GitHub, ahora puedes hacer un _fork_ de nuestro proyecto en tu
26+
repositorio. Este _fork_ es simplemente una copia de nuestro repositorio, que
27+
es independiente del original, en el sentido de que puedes realizar los
28+
cambios que quieras en la misma y no tendrán efecto ninguna en nuestro código.
29+
Así puedes experimentar y jugar con el código sin miedo a romper nada.
30+
31+
Para hacer el _fork_, asegúrate de que estás validado correctamente en _GitHub_
32+
con tu cuenta, y simplemente y visita con tu navegador nuestro repositorio.
33+
Una vez allí, solo tienes que pulsar el botón con la leyenda _Fork_.
34+
35+
![Github Fork](./assets/github-fork.png)
36+
37+
El nuevo repositorio, el tuyo, tendrá una URL como esta:
38+
39+
```
40+
https://github.com/<Tu User Name>/pycan-web
41+
```
42+
43+
### Tercer paso, clonar el repositorio
44+
45+
Ahora tienes el código en tu propio repositorio en _GitHub_. El siguiente
46+
paso es descargar el código en una carpeta de tu ordenador, un sitio
47+
donde puedes trabajar cómodamente con él.
48+
49+
Esta operación se conoce como _clonado_ del repositorio. Para ello, abre una
50+
terminal y escribe el siguiente comando:
51+
52+
```shell
53+
git clone https://github.com/<TuUserName>/pycan-web.git
54+
```
55+
56+
Ahora ya tienes una copia local de tu repositorio en tu disco duro.
57+
58+
Este repositorio local está vinculado con tu propia copia de nuestro
59+
repositorio. Puedes también vincularlo con el repositorio original; esto será
60+
cómodo especialmente al final, cuando queremos incorporar los cambios que hayas
61+
hecho en nuestro repositorio. Para vincular con el repositorio original, usa el
62+
siguiente comando:
63+
64+
```shell
65+
git remote add upstream https://github.com/pythoncanarias/pycan-web
66+
```
67+
68+
### Quinto paso, crear una nueva rama
69+
70+
Para crear una rama usaremos el siguiente comando:
71+
72+
```shell
73+
git checkout -b <nombre de la nueva rama>
74+
```
75+
76+
Ahora estamos situados en una nueva rama. Todos los cambios que hagamos ahora
77+
se quedan dentro de esta rama hasta que se pueda reunificar esta rama con la
78+
rama principal, o bien se borre esta rama y descartemos todos los cambios que
79+
hubiera en ella.
80+
81+
82+
### Sexto paso
83+
84+
Aquí es donde haces tu magia: realiza los cambios que creas oportunos,
85+
los pruebas si puedes y los vas añadiendo a la rama. Puedes usar `git status` para
86+
obtener un breve informe de la situación actual de la rama en la que estás.
87+
88+
Supongamos que has cambiado parte del texto del fichero `README.md`. Podemos
89+
añadir este fichero al área de trabajo con:
90+
91+
```shell
92+
git add README.md
93+
```
94+
95+
Cada vez que modifiques el código, el comando `add` tiene que ser ejecutado otra
96+
vez para que los últimos cambios se tengan en cuenta en el área de trabajo.
97+
98+
Existe la forma abreviada `git add -u` para que añada al área de trabajo todos
99+
los ficheros que hayan sido actualizados (`-u` por _updated_). Yo suelo añadir el
100+
_flag_ `-v` para que me muestre un listado de los ficheros añadidos, o sea que
101+
quedaría así: `git add -uv`.
102+
103+
Cuando estés segura de tus cambios, puedes confirmarlos con la
104+
orden `commit` de Git:
105+
106+
```shell
107+
git commit -m "Comentario describiendo los cambios realizados"
108+
```
109+
110+
Nota: No es necesario que hagas un único _commit_ al final, puedes realizar todos
111+
los commits que quieras, pero si es verdad que el paso previo a subir el código
112+
al repositorio debe ser un `commit`. Si no lo hacemos así, quedarían cambios
113+
el el área de trabajo no confirmadas y, por tanto, ignoradas en el siguiente
114+
paso, en el `push`.
115+
116+
### Séptimo paso, exportar o entregar (_push_) los cambios locales al repositorio.
117+
118+
Como se comentó antes, el comando básico aquí es `push`:
119+
120+
```shell
121+
git push -u origin <nombre de la rama>
122+
```
123+
124+
Este paso crea la rama en el repositorio remoto y sube todos los
125+
cambios que estén confirmados en el área de trabajo.
126+
127+
### Octavo paso, crear un _Pull Request_
128+
129+
Una vez que tus cambios están en tu repositorio, están listos para
130+
realizar un _Pull Request_, que básicamente es una solicitud hecha para
131+
incorporar los cambios incluidos en una rama a otra rama.
132+
133+
En este caso, lo que debemos hacer es un _Pull Request_ indicando que queremos
134+
incorporar los cambios realizados en nuestra rama hacia la rama `mastar` del
135+
repositorio original (Es decir, el repositorio de Python Canarias desde
136+
el cual se hizo el _fork_ en el paso dos).
137+
138+
Para ello, abrimos el navegador apuntando a nuestro repositorio en GitHub y
139+
pulsamos el botón que reza "_Compare and Pull Request_". Si todo ha ido bien
140+
nosotros, los mantenedores del repositorio original, seremos notificados
141+
de los cambios y podremos revisarlos y si los encontramos adecuados,
142+
incorporarlos al mismo.
143+
144+
Felicidades, acabas de realizar tu aportación a Python Canarias.
145+
146+
147+
### Enlaces interesantes
148+
149+
- [La guía para principiantes de Git y Github](https://www.freecodecamp.org/espanol/news/guia-para-principiantes-untitled/) de FreeCodeCamp
150+
151+
- [Hacktoberfest](https://hacktoberfestes.dev/)
152+
153+
- [Make your first open source contribution](https://markodenic.com/make-your-first-open-source-contribution/) de Marko Denic
154+
155+
- [Recursos de Programación](https://github.com/Acadeller/recursos-programacion)

0 commit comments

Comments
 (0)