GIT es el sistema de control de versiones distribuidas más versátil.
La forma en que GIT rastrea y maneja los cambios de archivos es muy eficiente y diferente a la forma en que otro software de control de versiones rastrea los cambios (incluidos CVS y Subversion).
Este artículo es para aquellos que son nuevos en GIT. Esta es una guía de inicio rápido que le mostrará cómo instalar GIT desde la fuente, crear un nuevo proyecto, enviar cambios al repositorio de GIT.
Si tiene experiencia en CVS/SVN, está acostumbrado al modelo cliente-servidor, donde el repositorio está instalado en un servidor, y usará un cliente para descargar el proyecto del repositorio, realizar cambios y enviarlo al repositorio en el servidor.
GIT no utiliza el modelo cliente-servidor. Cuando descarga un proyecto de un repositorio GIT remoto, descarga todo, incluido el historial de versiones y los cambios de los archivos individuales, y su GIT local actúa como un servidor, donde puede realizar el check-in, check-out y todo lo demás. actividades típicas de control de versiones. Más tarde, cuando esté listo, puede fusionar sus cambios en el repositorio GIT remoto.
Por lo tanto, los pasos de instalación y configuración son exactamente los mismos, ya sea que use GIT en su máquina local para administrar su propio proyecto o que esté instalando GIT en un servidor, desde donde otros desarrolladores descargarán el proyecto a sus repositorios locales de GIT.
Si es un desarrollador, es posible que desee instalar GIT en su máquina local por dos razones:1) le gusta administrar su propio proyecto localmente utilizando una herramienta de control de versiones 2) desea modificar un código que se encuentra en una central remota repositorio GIT.
Si es un administrador de sistemas, es posible que desee instalar GIT en un servidor para que actúe como un depósito central para almacenar todo el código fuente de su empresa. Desde aquí, puede permitir que los desarrolladores descarguen los proyectos en sus repositorios GIT locales, realicen cambios y puedan volver a registrarse en su repositorio central cuando hayan terminado.
Independientemente de cómo planee usar GIT, los pasos de instalación y los comandos básicos que se mencionan a continuación son exactamente los mismos.
1. Descarga e instala GIT
Primero, descargue el GIT desde aquí. O descárguelo directamente usando wget como se muestra a continuación.
cd wget http://kernel.org/pub/software/scm/git/git-1.7.6.tar.bz2
A continuación, extraiga el archivo descargado.
tar xvfj git-1.7.6.tar.bz2 cd git-1.7.6
Finalmente, instale GIT como se muestra a continuación usando la opción de configuración predeterminada. Si desea personalizar la instalación, haga “./configure –help” para ver todas las opciones de configuración disponibles.
./configure make make install
2. Configuración inicial
Git se instala de forma predeterminada en /usr/local/bin. Una vez que haya instalado GIT, verifíquelo como se muestra a continuación.
$ whereis git git: /usr/local/bin/git $ git --version git version 1.7.6 $ git --help.
El primer paso es especificar su nombre de usuario y dirección de correo electrónico en su repositorio GIT usando "git config" como se muestra a continuación.
git config --global user.name "GIT Admin" git config --global user.email [email protected]
Verifique la información de configuración de git como se muestra a continuación.
$ git config --list user.name=GIT Admin [email protected] core.repositoryformatversion=0 core.filemode=true core.bare=false core.logallrefupdates=true
Esta información se almacena en el archivo .gitconfig en su directorio de inicio.
$ cat ~/.gitconfig [user] name = GIT Admin email = [email protected]
3. Crear un proyecto
Puede hacer que cualquiera de su directorio local sea un proyecto GIT (es decir, un repositorio). Por ejemplo, si su proyecto se encuentra en /home/ramesh/projects/passworddragon, puede convertirlo en su proyecto GIT. Primero, haga cd en ese directorio y ejecute git init como se muestra a continuación.
$ cd /home/ramesh/projects/passworddragon $ git init Initialized empty Git repository in /home/ramesh/projects/passworddragon/.git/
Esto creará un directorio .git en la carpeta de su proyecto. A continuación se muestra el contenido del directorio .git. GIT usa este directorio para almacenar información sobre cómo está rastreando los cambios.
$ ls -altr .git total 40 drwxrwxr-x 4 git git 4096 Aug 13 22:39 refs drwxrwxr-x 4 git git 4096 Aug 13 22:39 objects drwxrwxr-x 2 git git 4096 Aug 13 22:39 info drwxrwxr-x 2 git git 4096 Aug 13 22:39 hooks -rw-rw-r-- 1 git git 23 Aug 13 22:39 HEAD -rw-rw-r-- 1 git git 73 Aug 13 22:39 description -rw-rw-r-- 1 git git 92 Aug 13 22:39 config drwxrwxr-x 2 git git 4096 Aug 13 22:39 branches drwxrwxr-x 36 git git 4096 Aug 13 22:39 .. drwxrwxr-x 7 git git 4096 Aug 13 22:39 .
Nota:si usted es administrador de sistemas y está intentando crear un repositorio central de GIT para su empresa, desde donde los desarrolladores pueden descargar los proyectos, es posible que desee crear un nombre de usuario llamado "git" y organizar todos sus proyectos bajo esta cuenta. Por ejemplo:/home/git/project1, /home/git/project2, etc. Una vez que haya organizado el proyecto, cd al directorio del proyecto y haga 'git init' desde allí como usuario de git.
4. Agregar y enviar archivos al proyecto
Una vez que haya inicializado el proyecto usando "git init", agregue los archivos ubicados en este directorio del proyecto, usando "git add".
Si hay diferentes tipos de archivos en el directorio de su proyecto y desea que GIT administre solo ciertos tipos de archivos, agregue solo esos a GIT como se muestra a continuación. Este ejemplo agrega solo los archivos *.java y *.c.
git add *.java git add *.c
Por lo general, le gustaría agregar todos los archivos del directorio del proyecto al proyecto GIT. Simplemente haga "git add", que agregará todos los archivos en el directorio actual y todos los subdirectorios al proyecto GIT.
git add .
Una vez que haya agregado los archivos al repositorio, debe confirmar esos archivos, como se muestra a continuación.
$ git commit -m 'Initial upload of the project' create mode 100755 PasswordDragon.java create mode 100755 pwm/ui/DataManager.java create mode 100755 pwm/ui/PasswordFrame.java create mode 100755 pwm/tools/StrongEncryption.java create mode 100755 pwm/tools/PasswordStrength.java ..
Si no especificó su nombre de usuario y dirección de correo electrónico usando "git config" como se explicó anteriormente, recibirá el siguiente mensaje de error.
$ git commit -m 'Initial upload of the project' *** Please tell me who you are. Run git config --global user.email "[email protected]" git config --global user.name "Your Name" to set your account's default identity. Omit --global to set the identity only in this repository. fatal: empty ident not allowed
5. Realice cambios y confirme el archivo
Instalaste GIT, creaste un repositorio de proyectos, confirmaste todos los archivos en el proyecto GIT.
Ahora es el momento de comenzar a realizar algunos cambios en un archivo y enviarlo al repositorio.
vi PasswordDragon.java
Una vez que haya modificado un archivo localmente, puede ver los cambios. es decir, la diferencia entre su copia local y la copia ya comprometida en el proyecto GIT usando "git diff" como se muestra a continuación.
$ git diff diff --git a/PasswordDragon.java b/PasswordDragon.java index 6166ed1..fd82d32 100644 --- a/PasswordDragon.java +++ b/PasswordDragon.java @@ -2,7 +2,7 @@ - public counter=10 + public counter=55
Una vez que haya realizado modificaciones, revisado los cambios y esté satisfecho con él, puede enviar el archivo al repositorio GIT. Este es un proceso de dos pasos. Primero, debe agregar el archivo al área de preparación y comprometerse con el proyecto GIT como se muestra a continuación.
git add PasswordDragon.java
Cuando realice la confirmación, se abrirá su editor predeterminado, donde puede ingresar el comentario. Una vez que guarde su comentario y salga del editor, enviará el archivo al proyecto GIT y mostrará el siguiente mensaje.
$ git commit [master 80f10a9] Added password strength meter functionality 1 files changed, 56 insertions(+), 7 deletions(-)
Nota:También puede hacer "git commit -a", que agregará y confirmará al mismo tiempo.
6. Ver estado y registros de confirmación
Desde su repositorio local, cuando realice el "estado de git", mostrará el estado actual. Cuando no se cambia la copia local (o cuando se confirman todos los archivos), verá el siguiente mensaje.
$ git status # On branch master nothing to commit (working directory clean)
Si ha realizado cambios en un archivo y aún no lo ha confirmado, verá el siguiente mensaje.
$ 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: PasswordDragon.java # no changes added to commit (use "git add" and/or "git commit -a")
También puede ver el historial de un archivo como se muestra a continuación.
$ git log PasswordDragon.java commit c919ced7f42f4bc06d563c1a1eaa107f2b2420d5 Author: GIT Admin Date: Sat Aug 13 22:54:57 2011 -0700 Added password strength meter functionality commit c141b7bdbff429de35e36bafb2e43edc655e9957 Author: GIT Admin Date: Sat Aug 13 20:08:02 2011 -0700 Initial upload of the project