Git init
Para iniciar nuestro repositorio, o sea, indicarle a Git que queremos usar su sistema de control de versiones en nuestro proyecto
Git add
El comando para que nuestro repositorio sepa de la existencia de un archivo o sus últimos cambios
Git commit
El comando para almacenar definitivamente todos los cambios que por ahora viven en el staging area
Git push
Comando para enviar los cambios al servidor remoto seteado
Git status
Ofrece una descripción del estado de los archivos (untracked, ready to commit, nothing to commit).
Git rm (. -r, filename) (–cached)
Remueve los archivos del index.
Git config --global user.email tu@email.com
Configura un email.
Git config --global user.name <Nombre como se verá en los commits>
Configura un nombre.
Git config --list
Lista las configuraciones.
Git log
Lista de manera descendente los commits realizados.
Git log --stat
Además de listar los commits, muestra la cantidad de bytes añadidos y eliminados en cada uno de los archivos modificados.
Git log --all --graph --decorate --oneline
Muestra de manera comprimida toda la historia del repositorio de manera gráfica y embellecida.
Git show filename
Permite ver la historia de los cambios en un archivo.
Git diff <commit1> <commit2>
Compara diferencias entre en cambios confirmados.
Git reset <commit> --soft/hard
Regresa al commit especificado, eliminando todos los cambios que se hicieron después de ese commit.
Git checkout <commit/branch> <filename>
Permite regresar al estado en el cual se realizó un commit o branch especificado, pero no elimina lo que está en el staging area.
Git checkout – <filePath>
Deshacer cambios en un archivo en estado modified (que ni fue agregado a staging)
Git rm no puede usarse por sí solo, así nomás. Se debe utilizar uno de los flags para indicar a Git cómo eliminar los archivos que ya no se necesitan en la última versión del proyecto:
Git rm --cached <archivo/s>
Elimina los archivos del área de Staging y del próximo commit, pero los mantiene en nuestro disco duro.
Git rm --force <archivo/s>
Elimina los archivos de Git y del disco duro. Git siempre guarda todo, por lo que podemos acceder al registro de la existencia de los archivos, de modo que podremos recuperarlos si es necesario (pero debemos aplicar comandos más avanzados).
Git reset
Con git reset volvemos al pasado sin la posibilidad de volver al futuro. Borramos la historia y la debemos sobreescribir.
Git reset --soft
Vuelve el branch al estado del commit especificado, manteniendo los archivos en el directorio de trabajo y lo que haya en staging considerando todo como nuevos cambios. Así podemos aplicar las últimas actualizaciones a un nuevo commit.
Git reset --hard
Borra absolutamente todo. Toda la información de los commits y del área de staging se borra del historial.
Git reset HEAD
No borra los archivos ni sus modificaciones, solo los saca del área de staging, de forma que los últimos cambios de estos archivos no se envíen al último commit. Si se cambia de opinión se los puede incluir nuevamente con git add.
Git branch <new branch>
Crea una nueva rama.
Git checkout <branch name>
Se mueve a la rama especificada.
Git merge <branch name>
Fusiona la rama actual con la rama especificada y produce un nuevo commit de esta fusión.
Git branch
Lista las ramas generadas.
Git --version
presenta la version de git instalada
Conceptos importantes de Git
Bug: Error en el código
Repository: Donde se almacena todo el proyecto, el cual puede vivir tanto en local como en remoto. El repositorio guarda un historial de versiones y, más importante, de la relación de cada versión con la anterior para que pueda hacerse el árbol de versiones con las diferentes ramas.
Fork: Si en algún momento queremos contribuir al proyecto de otra persona, o si queremos utilizar el proyecto de otro como el punto de partida del nuestro. Esto se conoce como “fork”.
Clone: Una vez se decide hacer un fork , hasta ese momento sólo existe en GitHub. Para poder trabajar en el proyecto, toca clonar el repositorio elegido al computador personal.
Branch: Es una bifurcación del proyecto que se está realizando para anexar una nueva funcionalidad o corregir un bug.
Master: Rama donde se almacena la última versión estable del proyecto que se está realizando. La rama master es la que está en producción en cada momento (o casi) y debería estar libre de bugs. Así, si esta rama está en producción, sirve como referente para hacer nuevas funcionalidades y/o arreglar bugs de última hora.
Commit: consiste en subir cosas a la versión local del repositorio. De esta manera se puede trabajar en la rama de forma local sin tener que modificar ninguna versión en remoto ni tener que tener la última versión remota, cosa muy útil en grandes desarrollos trabajados por varias personas.
Push: Consiste en enviar todo lo que se ha confirmado con un commit al repositorio remoto. Aquí es donde se une nuestro trabajo con el de los demás.
Checkout: Acción de descargarse una rama del repositorio GIT local (sí, GIT tiene su propio repositorio en local para poder ir haciendo commits) o remoto.
Fetch: Actualiza el repositorio local bajando datos del repositorio remoto al repositorio local sin actualizarlo, es decir, se guarda una copia del repositorio remoto en el local.
Merge: La acción de merge es la continuación natural del fetch. El merge permite unir la copia del repositorio remoto con tu repositorio local, mezclando los diferentes códigos.
Pull: Consiste en la unión del fetch y del merge, esto es, recoge la información del repositorio remoto y luego mezcla el trabajo en local con esta.
Diff: Se utiliza para mostrar los cambios entre dos versiones del mismo archivo.
Aporte creado por: Nestor Rojas
Comandos para analizar cambios en GIT
git init: inicializar el repositorio
git add nombre_de_archivo.extensión: agregar el archivo al repositorio
git commit -m “Mensaje”: Agregamos los cambios para el repositorio
git add: Agregar los cambios de la carpeta en la que nos encontramos agregar todo
git status: visualizar cambios
git log nombre_de_archivos.extensión: histórico de cambios con detalles
git push: envía a otro repositorio remoto lo que estamos haciendo
git pull: traer repositorio remoto
ls: listado de carpetas en donde me encuentro. Es decir, como emplear dir en windows.
pwd: ubicación actual
mkdir: make directory nueva carpeta
touch archivo.extensión: crear archivo vacío
cat archivo.extensión: muestra el contenido del archivo
history: historial de comandos utilizados durante esa sesión
rm archivo.extensión: Eliminación de archivo
comando --help: ayuda sobre el comando
git checkout: traer cambios realizados
git rm --cached archivo.extensión: se utiliza para devolver el archivo que se tiene en ram. Cuando escribimos git add, lo devuelve a estado natural mientras está en staging.
git config --list: muestra la lista de configuración de git
git config --list --show-origin: rutas de acceso a la configuración de git
git log archivo.extensión: muestra la historia del archivo
Aporte creado por: Stefania Ortega
git clone url_del_servidor_remoto:
Nos permite descargar los archivos de la última versión de la rama principal y todo el historial de cambios en la carpeta .git.
git push:
Luego de hacer git add y git commit debemos ejecutar este comando para mandar los cambios al servidor remoto.
git fetch:
Lo usamos para traer actualizaciones del servidor remoto y guardarlas en nuestro repositorio local (en caso de que hayan, por supuesto).
git merge:
También usamos el comando git merge con servidores remotos. Lo necesitamos para combinar los últimos cambios del servidor remoto y nuestro directorio de trabajo.
git pull:
Básicamente, git fetch y git merge al mismo tiempo.
Adicionalmente, tenemos otros comandos que nos sirven para trabajar en proyectos muy grandes:
git log --oneline:
Te muestra el id commit y el título del commit.
git log --decorate:
Te muestra donde se encuentra el head point en el log.
git log --stat:
Explica el número de líneas que se cambiaron brevemente.
git log -p:
Explica el número de líneas que se cambiaron y te muestra que se cambió en el contenido.
git shortlog: Indica que commits ha realizado un usuario, mostrando el usuario y el título de sus commits.
git log --graph --oneline --decorate y
git log --pretty=format:"%cn hizo un commit %h el dia %cd": Muestra mensajes personalizados de los commits.
git log -3: Limitamos el número de commits.
git log --after=“2018-1-2”
git log --after=“today” y
git log --after=“2018-1-2” --before=“today”: Commits para localizar por fechas.
git log --author=“Name Author”: Commits hechos por autor que cumplan exactamente con el nombre.
git log --grep=“INVIE”: Busca los commits que cumplan tal cual está escrito entre las comillas.
git log --grep=“INVIE” –i: Busca los commits que cumplan sin importar mayúsculas o minúsculas.
git log – index.html: Busca los commits en un archivo en específico.
git log -S “Por contenido”: Buscar los commits con el contenido dentro del archivo.
git log > log.txt: guardar los logs en un archivo txt
No hay comentarios:
Publicar un comentario