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

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

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

Автор: Derek Molloy

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

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

Серия:

isbn: 9788426727800

isbn:

СКАЧАТЬ derivarse de la corrupción del sistema. Git emplea códigos hash de 40 caracteres para las sumas de verificación. De este modo, es capaz de registrar los cambios entre repositorios locales y remotos, lo que, a su vez, hace posible toda la funcionalidad de operaciones locales.

      Figura 3-4: El flujo de trabajo básico de Git.

      Clonar un repositorio supone realizar una copia de todos los archivos que contenga el proyecto, junto con el histórico de cambios completo, y guardarla en nuestro disco duro. Haremos esta operación una sola vez. Para clonar el repositorio envíe el comando git clone seguido del nombre completo del repositorio:

      pi@erpi / $ cd ~/

      pi@erpi ~ $ git clone https://github.com/derekmolloy/test.git

      Cloning into 'test'...

      remote: Counting objects: 14, done.

      remote: Compressing objects: 100% (5/5), done.

      remote: Total 14 (delta 1), reused 0 (delta 0), pack-reused 9

      Unpacking objects: 100% (14/14), done.

      Checking connectivity... done.

      Ahora tenemos una copia completa del repositorio "test" en el directorio /test. Nuestro repositorio es igual de completo que la versión en el servidor de GitHub. Si fuera necesario, este repositorio podría quedar disponible a través de una red, en un sistema de archivos o en otra cuenta de GitHub y serviría perfectamente como versión principal del repositorio. Aunque no sea necesario contar con un servidor central, generalmente lo hay, ya que de este modo múltiples usuarios pueden insertar (check in) código fuente en un repositorio maestro conocido. El repositorio se crea en el directorio /test y en este momento contiene lo siguiente:

      pi@erpi ~/test $ ls -al

      total 20

      drwxr-xr-x 3 pi pi 4096 Jun 20 22:00 .

      drwxr-xr-x 6 pi pi 4096 Jun 20 22:00 ..

      drwxr-xr-x 8 pi pi 4096 Jun 20 22:00 .git

      -rw-r--r-- 1 pi pi 59 Jun 20 22:00 README.md

      Podemos ver el archivo README.md que se creó cuando el proyecto se inicializó en GitHub. Podemos usar more para ver el contenido del mismo. El directorio contiene un subdirectorio .git oculto, con los siguientes archivos y directorios:

      pi@erpi ~/test/.git $ ls

      branches description hooks info objects refs

      config HEAD index logs packed-refs

      El directorio oculto .git contiene toda la información acerca del repositorio, como mensajes de commit, archivos de log y los objetos de datos. Por ejemplo, la ubicación del repositorio remoto se encuentra en el archivo config.

      pi@erpi ~/test/.git $ more config | grep url

       url = https://github.com/derekmolloy/test.git

      La sección "Otras lecturas", al final del capítulo, incluye una referencia a un magnífico libro sobre Git que está disponible en la red de forma gratuita. En él se describe con detalle la estructura del directorio .git. Por fortuna, ahora no debemos introducir ningún cambio en el directorio .git, puesto que tenemos comandos Git que lo harán por nosotros.

      NOTA Esta guía paso a paso utiliza el propio repositorio "test" del autor. No obstante, no le resultará difícil al lector crear su propio repositorio en GitHub. Después de configurar una cuenta gratuita en GitHub, diríjase a "Create New" (crear nuevo) y, luego, "New repository" (nuevo repositorio). Dé un nombre y una descripción al repositorio y hágalo disponible públicamente, seleccione la opción para inicializarlo con un README y, luego, seleccione "Create Repository" (crear repositorio). A partir de aquí podrá seguir estas instrucciones con el repositorio de su propia cuenta, y, en consecuencia, podrá comunicarse desde su RPi con su propio repositorio en GitHub.

      Ahora que contamos con nuestro repositorio, el paso siguiente es añadir un nuevo archivo de texto al directorio de trabajo, donde estará en estado untracked (sin seguimiento). Cuando ejecutamos el comando git status, observamos un mensaje que indica que hay untracked files, es decir, archivos sin seguimiento:

      pi@erpi ~/test $ echo "Just some text" > newfile.txt

      pi@erpi ~/test $ git status

      On branch master

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

      Untracked files:

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

      newfile.txt

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

      El paso siguiente consiste en añadir cualquier archivo sin seguimiento (untracked) al área de preparación (staging area). No obstante, si no desea añadir un conjunto de archivos, también puede crear uno llamado gitignore para obviarlos. Por ejemplo, esto resultaría útil si en un proyecto C/C++ decidimos que no queremos archivos objeto, .o, intermedios. He aquí un ejemplo de cómo crear un archivo .gitignore destinado a ignorar archivos objeto, .o, de C/C++:

      pi@erpi ~/test $ echo "*.o" > .gitignore

      pi@erpi ~/test $ more .gitignore

      *.o

      pi@erpi ~/test $ touch testobject.o

      pi@erpi ~/test $ git status

      On branch master

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

      Untracked files:

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

      .gitignore

      newfile.txt

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

      En este caso, hay dos archivos sin seguimiento, pero no existe mención al archivo testobject.o, lo que indica que se está ignorando tal como queríamos. Observe que el archivo .gitignore forma parte también del repositorio y que se conservará en cualquier clonación del mismo, junto con su histórico de cambios, etc.

      Los archivos del directorio de trabajo se pueden añadir ahora al área de preparación con el comando git add . (comando que incluye todos los archivos en el directorio de trabajo, con la excepción de los archivos ignorados). En este ejemplo, dos archivos se agregan desde el directorio de trabajo al área de preparación. Luego, podemos mostrar el estado del repositorio del siguiente modo:

      pi@erpi ~/test $ git add .

      pi@erpi ~/test $ git status

СКАЧАТЬ