[GIT] Primeros Pasos

Configuración:


Primero podemos decirle a GIT quienes somos: un nombre de usuario y un mail para identificarnos esto será importante para hacer commits, para ello siempre tipeamos en la consola "git ", donde git representa el archivo git.exe seguido de un espacio y los parámetro que introduciremos:

  $ git config --global user.name "John Doe"
  $ git config --global user.email johndoe@example.com

Solo necesita declarar esta información una sola vez, ya que git usara estos datos para todo lo que hagamos en este sistema. Para sobreescribir por otros datos, se puede tipear sin la opción --global. Para ver esta información seteado debemos tipear y obtener algo similiar, donde las 2 ultimas lineas son las que editamos recientemente:

  $ git config --list
  core.symlinks=false
  core.autocrlf=true
  core.fscache=true
  color.diff=auto
  color.status=auto
  color.branch=auto
  color.interactive=true
  help.format=html
  http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
  diff.astextplain.textconv=astextplain
  rebase.autosquash=true
  credential.helper=manager
  user.name=John Doe
  user.email=johndoe@example.com


Obteniendo un repositorio git:


Existen 2 maneras de obtener un repositorio en git.
  • La primera es tomar un proyecto existente(Por ejemplo el directorio raiz que nos crea NetBeans o Eclipse) y convertirlo en un repositorio local.
  • Y la segunda forma es clonar un repositorio remoto proveniente de un servidor.

Repositorio local:

De la primera manera, deberemos pararnos primero sobre la carperta raiz del proyecto, utlizando los comandos cd para ir a ese lugar, o dir para que nos mouestre el contenido de la carpeta en que estemos situado, o también mkdir para agregar una carpeta nueva.

  $ cd C:/Developer/Blog01
  $ git init

Yo por ejemplo, me movilizo con el comando cd a la carpeta donde tengo configurado el WorkSpace de eclipse, y sobre un proyecto que inicie en él.
Con git init se crea un nuevo subdirectorio llamado ".git" que contiene todos los archivos necesarios para el repositorio. Todavia es un repositorio vacio, solo creamos el "Working Directory" es hora de pasarlos al area de ensayo: "Staging area" con el comando git add

Repositorio remoto:

Para obtener una copia de un repositorio GIT existente, deberemos posicionarnos sobre la carpeta existente y tener acceso a la URL.

  $ cd C:/Developer && git clone git@github.com:DarioZubaray/T-esta.git

  • De esta manera, con el comando cd C:/Developer me estoy dirigiendo desde donde me encuentre a esa carpeta del sistema.
  • Con && los 2 amperson seguidos sirven para ejecutar otra linea de comandos en linux(En windows es ||).
  • Por ultimo con git clone [url] estoy descarndo desde ese repositorio remoto, una copia local para trabajar con él, en mi caso es un proyecto que inicie brevemente.

De esta manera, descargue los archivos que contiene el proyecto, y solo necesita hacer un git init para convertirlo en la rama maestra de un nuevo repositorio local.


Estados de un repositorio GIT



  • Untracked: Es un estado ajeno a GIT, son los archivos que se encuentran en la carpeta pero no forman parte del repositorio, ni estan siendo tratados para su implementación.
  • Unmodified: Son los archivos que fueron "agregados a git" y forman parte del Staging area, pero aun no estan de manera permanente en el repositorio.
  • Modified: Son los archivos que como su nombre lo dice, forman parte del Staging area, pero han sufrido modificaciones y requiere nuestra intervencion, para actualizar la version o descartarla.
  • Storaged: Almacenados. Son los archivos que forman parte de nuestro repositorio local.

Normalmente la información es redundante, solo se muestran los cambios sufridos ultimamente y no todos los archivos, de esta manera no visualizaremos todo el contenido del repositorio.
Para consultar el estado de nuestro repositorio, el comando es:

  $ git status

La respuesta al comando seria algo como esto:

 On branch master

 Initial commit

 nothing to commit (create/copy files and use "git add" to track)


Con estamos viendo en la primer linea sobre que rama estamos parados, On branch master nos indica que estamos sobre la rama principal. Initial commit nos informa que es la primera vez que vamos a comprometer los cambios.
Y nothing to commit, nada para commitear, y nos da una ayuda de como seguir.

Agregar archivos:


Rapidamente podemos crear un archivo con el comando touch <nombreArchivo>  :

  $ git touch README.txt

Esto creará el famoso archivo aunque vacio de texto. Ahora podemos ver que resultado nos trae el git status, (La respuesta deberia ser que que README es un archivo Untracked). Para pasar al area de ensayo utilizamos el comando git add <nombreArchivo>  seguido del nombre del archivo.

  $ git add README.txt

Hemos movido el archivo desde "untracked" a "unmodified". Esto se refleja al hacer git status

 $ git status
 On branch master

 Initial commit

 Changes to be committed:
   (use "git rm --cached ..." to unstage)

         new file: README.txt


Deberá aparecernos bajo el titulo de "archivos para ser commiteados" el area que conocemos como unmodified.

Comprometer los cambios:

"Luego quedará la acción de comprometer los cambios, con el comando git commit para entrar en el modo de edición de la consola, donde se requiere pulsar la tecla "i" para poder editar y para salir se necesita pulsar "esc" y luego :wq seguido de un "enter" o simplemente agregando -m "mi mensaje entre comillas dobles" nos ahorraremos este camino.

  $ git commit -m "Incluyendo el archivo vacio README.txt"

Luego de haber commiteado, el status volverá a ser el inicial nothing to commit, working directory clean con la salvedad que ya no nos informa que es el commit inicial.

Modificar archivos:

Ahora veamos que pasa al modificar archivo, para ello vim abre el editor de texto de la consola, al igual que con el mensaje: se requiere pulsar la tecla "i" para poder editar y para salir se necesita pulsar "esc" y luego :wq seguido de un "enter"

  $ vim README.txt




Modificamos brevemente el contenido, ESC + :wq para salir. Y visualizamos el cambio de estado con git status :

  $ git status
  On branch master
  Changes not staged for commit:
    (use "git add ..." to update what will be committed)
    (use "git checkout -- ..." to discard changes in working directory)

         modified: README.txt

  no changes added to commit (use "git add" and/or "git commit -a")


Ahora veremos que el estado del archivo cambio a "rojo", al estado de archivos modificados, y además también nos sugiere el uso de git add o git cheackout -- ya sea para agregar el archivo a "unmodified" o removerlo.
Para ver los archivos que han sufrido modificaciones y un pequeño resumen, usamos el comando git diff

  $ git diff
  diff --git a/README.txt b/README.txt
  index e69de29..979e5c3 100644
  --- a/README.txt
  +++ b/README.txt
  @@ -0,0 +1 @@
  +editado
  warning: LF will be replaced by CRLF in README.txt.
  The file will have its original line endings in your working directory.

Eliminar archivos:

Para remover un archivo del working directory y del staging index lo hacemos con el comando rm <nombreARchivo> seguido del nombre del archivo.

  $ rm README.txt

Logeo


Para ver el registro de commits de nuestro repositorio, utilizamos git log, el cual también tiene su versión más reducida con el parámetro --oneline y su version extendida -p

  $ git log
  commit 9a50f43c1468c5e9b3a306c2e77857df339aed0d
  Author: Dario Zubaray
  Date: Tue Jul 5 21:06:58 2016 -0300

        Incluyendo el archivo vacio README.txt


Tips


Para ir limpiando la pantalla podemos usar el comando:

  $ clear

Para ver todos los comando ejecutados recientemente:

  $ history

Para cerrar la consola

  $ exit

No hay comentarios:

Publicar un comentario