Raspberry Pi® a fondo para desarrolladores. Derek Molloy
Чтение книги онлайн.

Читать онлайн книгу Raspberry Pi® a fondo para desarrolladores - Derek Molloy страница 45

Название: Raspberry Pi® a fondo para desarrolladores

Автор: Derek Molloy

Издательство: Bookwire

Жанр: Математика

Серия:

isbn: 9788426727800

isbn:

СКАЧАТЬ branch master

      Your branch is up-to-date with 'origin/master'.

      Changes to be committed:

      (use "git reset HEAD <file>..." to unstage)

      new file: .gitignore

       new file: newfile.txt

      Para eliminar (remove) un archivo del área de preparación, usamos git rm somefile.ext.

      Después de añadir archivos al área de preparación, podemos hacer commit y convertir en definitivos los cambios desde aquella en el repositorio Git. Primero, podríamos querer añadir nuestro nombre y dirección de correo electrónico para indicar quién realiza el commit con los cambios.

      pi@erpi ~/test $ git config --global user.name "Derek Molloy"

      pi@erpi ~/test $ git config --global user.email [email protected]

      Estos valores se configuran a partir de los de nuestra cuenta de usuario Linux, de manera que persisten en el siguiente inicio de sesión. Para verlos, podemos escribir more ~/.gitconfig.

      El commit permanente de los cambios de los archivos en el repositorio Git local se hace con el comando git commit:

      pi@erpi ~/test $ git commit -m "Testing the repository"

      [master 3eea9a2] Testing the repository

      2 files changed, 2 insertions(+)

      create mode 100644 .gitignore

       create mode 100644 newfile.txt

      Los cambios se marcan con el nombre de usuario, pero también requieren la inclusión de un mensaje. Si queremos detallar el mensaje en la línea, usamos -m para establecerlo.

      NOTA El atajo git commit -a realiza un commit de los archivos modificados directamente en el repositorio local, sin necesidad de invocar add. No añade archivos nuevos. Observe la figura 3-4 en este mismo capítulo.

      Para realizar este paso, debemos poseer una cuenta propia en GitHub. El comando git push envía cualquier cambio en el código al repositorio remoto. Para que tales cambios se apliquen, debemos estar registrados como usuarios que pueden, en efecto, realizar modificaciones. En Git 2.0 se ha implementado un nuevo método llamado simple, más conservador, para enviar a repositorios remotos. Está seleccionado de forma predeterminada, pero puede suprimir algún mensaje de advertencia, y el envío se puede realizar del siguiente modo (sustituya los detalles de usuario y repositorio por los suyos propios):

      pi@erpi ~/test $ git config --global push.default simple

      pi@erpi ~/test $ git push

      Username for 'https://github.com': derekmolloy

      Password for 'https://[email protected]': mySuperSecretPassword

      Counting objects: 4, done.

      Delta compression using up to 4 threads.

      Compressing objects: 100% (2/2), done.

      Writing objects: 100% (4/4), 350 bytes | 0 bytes/s, done.

      Total 4 (delta 0), reused 0 (delta 0)

      To https://github.com/derekmolloy/test.git

       f5c45f4..3eea9a2 master -> master

      Después de que el código haya sido enviado (push) al repositorio remoto, podemos traer (pull) los cambios al repositorio local de cualquier máquina gracias al comando git pull desde el interior del directorio del repositorio local:

      pi@erpi ~/test $ git pull

      Already up-to-date.

      En este caso, todo está actualizado.

      Git contempla el concepto de ramas de desarrollo (branching), lo que nos permite trabajar en múltiples versiones diferentes del conjunto de archivos de nuestro proyecto. Por ejemplo, para desarrollar una nueva característica en nuestro proyecto (versión 2) pero conservar el código de la versión actual (versión 1), crearíamos una nueva rama (versión 2). Ninguna de las nuevas características o cambios introducidos en la versión 2 afectará al código de la versión 1. Después podremos pasar de una rama a otra con facilidad.

      Suponga, por ejemplo, que desea crear una nueva rama llamada mybranch (acción denominada "ramificar"). Puede hacerlo con el comando git branch mybranch y, luego, pasar a trabajar con ella usando git checkout mybranch del siguiente modo:

      pi@erpi ~/test $ git branch mybranch

      pi@erpi ~/test $ git checkout mybranch

      Switched to branch 'mybranch'

      Ahora, para demostrar el funcionamiento de todo esto, suponga que un archivo temporal llamado testmybranch.txt se añade al repositorio. Este podría ser un nuevo archivo de código para nuestro proyecto. Puede observar que el estado de la rama de desarrollo deja claro que el directorio de trabajo contiene un archivo sin seguimiento:

      pi@erpi ~/test $ touch testmybranch.txt

      pi@erpi ~/test $ ls

      newfile.txt README.md testmybranch.txt testobject.o

      pi@erpi ~/test $ git status

      On branch mybranch

      Untracked files:

      (use "git add <file>..." to include in what will be committed)

      testmybranch.txt

      nothing to commit, untracked files present (use "git add" to track)

      Puede añadir entonces este nuevo archivo al área de preparación de la rama usando los mismos comandos:

      pi@erpi ~/test $ git add .

      pi@erpi ~/test $ git status

      On branch mybranch

      Changes to be committed:

      (use "git reset HEAD <file>..." to unstage)

       new file: testmybranch.txt

      Podemos hacer commit de este cambio en la rama mybranch del repositorio local. Este cambio afectará a la rama mybranch, pero no tendrá efecto sobre la rama maestra:

      pi@erpi ~/test $ git commit -m "Test commit to mybranch"

      [mybranch d4cabf3] Test commit to mybranch

      1 file changed, 0 insertions(+), 0 deletions(-)

      create mode 100644 testmybranch.txt

СКАЧАТЬ