Introducción a Git + comandos de operación comunes

Introducción a Git:

Git es un sistema de control de versiones distribuido, gratuito y de código abierto para un manejo ágil y eficiente de cualquier proyecto, pequeño o grande.
Git es un sistema de control de versiones distribuido de código abierto que puede manejar de manera efectiva y rápida la gestión de versiones de proyectos desde pequeños hasta muy grandes. Git es un software de control de versiones de código abierto desarrollado por Linus Torvalds para ayudar a gestionar el desarrollo del kernel de Linux.

ventaja

  1. Adecuado para desarrollo distribuido, con énfasis en individuos;
  2. La presión del servidor público y el volumen de datos no serán demasiado grandes;
  3. Rápido y flexible;
  4. trabajar sin conexión;

defecto

  1. Verificación de confidencialidad del código: toda la información del código y la versión se puede divulgar por completo una vez que el desarrollador clona toda la biblioteca;
  2. Control de acceso hostil;

La diferencia entre Git y SVN

SVN es un sistema de control de versiones centralizado, mientras que Git es un sistema de control de versiones distribuido. Para conocer la diferencia entre Git y SVN, consulte la diferencia entre Git y SVN. La diferencia entre Git y SVN

flujo de trabajo de git

  1. Clonar recursos de Git desde almacenes remotos como almacenes locales;
  2. Consulte el código del almacén local y luego modifíquelo;
  3. Envíe el código al área de preparación antes de enviarlo al almacén local;
  4. Enviar la modificación y enviarla al almacén local; guardar las distintas versiones históricas de la modificación en el almacén local;
  5. Cuando necesite compartir código con los miembros del equipo, puede enviar el código modificado al almacén remoto.

Diagrama de flujo de trabajo de Git

inserte la descripción de la imagen aquí

Varios conceptos centrales de Git

Espacio de trabajo, área de preparación, biblioteca de versiones, almacén remoto

Una diferencia entre git y otros sistemas de control de versiones como svn es el concepto de área de preparación.
inserte la descripción de la imagen aquí
Espacio de trabajo : el espacio de trabajo es donde normalmente se almacena el código del proyecto.

Índice / Etapa : Área de almacenamiento temporal, utilizada para almacenar temporalmente sus cambios, de hecho es solo un archivo, guarde la información que se enviará en la lista de archivos

Repositorio : el área del almacén (o biblioteca de versiones) es el lugar donde se almacenan los datos de forma segura y contiene los datos que ha enviado a todas las versiones. Donde HEAD apunta a la última versión guardada en el almacén.

Remoto : el almacén remoto, el servidor que aloja el código, puede considerarse simplemente como una computadora en su equipo de proyecto para el intercambio remoto de datos.

la rama

Cada confirmación, Git las encadena en una línea de tiempo, y esta línea de tiempo es una rama. Hasta ahora, solo hay una línea de tiempo. En Git, esta rama se llama rama principal, es decir, rama maestra. Estrictamente hablando, el puntero HEAD no apunta al envío, sino al maestro, y el maestro apunta al envío.
Al principio, la rama maestra es una línea, Git usa master para señalar el último envío y luego usa HEAD para señalar al maestro, de modo que se puedan determinar la rama actual y el punto de envío de la rama actual: cada vez Después de realizar un envío, la rama maestra avanzará un paso.De
inserte la descripción de la imagen aquí
esta manera, con el envío continuo, la línea de la rama maestra se hace cada vez más larga.

Cuando creamos una nueva rama, como dev, Git crea un nuevo puntero llamado dev, que apunta al mismo compromiso que el maestro, y luego apunta HEAD a dev, lo que significa que la rama actual está en dev: Git crea una rama muy rápido, porque además de agregar
inserte la descripción de la imagen aquí
un puntero de desarrollo, cambiar el puntero HEAD, ¡los archivos en el espacio de trabajo no han cambiado!

Pero después de cambiar a la rama dev, la modificación y envío del espacio de trabajo está dirigido a la rama dev. Por ejemplo, después de un nuevo envío, el puntero dev avanza un paso, mientras que el puntero maestro permanece sin cambios: si nuestro trabajo en dev Una vez completado,
inserte la descripción de la imagen aquípodemos fusionar dev con master. ¿Cómo se fusiona Git? La forma más sencilla es apuntar directamente al maestro a la confirmación actual de dev y se completa la fusión: ¡
inserte la descripción de la imagen aquí
entonces Git fusiona ramas muy rápidamente! ¡Simplemente cambie el puntero y el contenido del área de trabajo no cambiará!

Incluso puedes eliminar la rama de desarrollo una vez que hayas terminado de fusionar las ramas. Eliminar la rama de desarrollo es eliminar el puntero de desarrollo. Después de la eliminación, queda una rama maestra:
inserte la descripción de la imagen aquí

El proyecto local git inicializa y envía la biblioteca remota.

1. Primero cree un proyecto en un almacén remoto (como github) para evitar errores y no inicialice archivos README, licencia o gitignore.

2. Abra la terminal Terminal

3. Cambie al directorio de su proyecto local

4. Inicializar el almacén local.

$ git init 

5. Agregue archivos al almacén local.

$ git add . 

6. Presentar documentos

$ git commit -m "First commit"

7. Agregue la dirección del almacén remoto al almacén local.

$ git remote add origin {
    
    远程仓库地址}

8. Enviar al almacén remoto

$ git push -u origin master

comando de operación de clonación

1. Configurar la cuenta y el buzón del almacén local.

$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"

2. Para evitar la necesidad de ingresar una contraseña para cada acceso remoto, se utilizará ssh para iniciar sesión. ssh debe estar vinculado con información nativa. Compruebe si hay una carpeta .ssh en el directorio C:\Users\Administrator de su computadora . Si no, es necesario generarlo.

$ ssh-keygen -t rsa -C "[email protected]"

3. comando clonar

$ git clone git@github.com:michaelliao/gitskills.git

4. Extraiga el código en la rama especificada.

git clone -b dev http://xxx.git

Presione Enter hasta el final.

Comando de operación de sucursal

1. Ver la sucursal local

git branch

2. Crea una nueva rama

git checkout -b new-branch  //创建并切换到分支feature-branch并切换新分支

3. Ver sucursales remotas

git branch -a //列出所有分支名称

4. Empuje la sucursal local a la sucursal remota

git push origin my-branch:new-branch //推送本地的my-branch(冒号钱面的)分支到远程origin的new-branch(冒号后面的)分支(没有会自动创建)

5. Cuando git push new-branch ocurre un error que indica que el almacén remoto no se puede asociar, en este momento ejecutamos el comando

git push origin HEAD:new-branch //关联远程仓库

6. Eliminar la rama remota

git push origin :xn  //将一个空分支推送到远程即为删除
git push origin --delete cn //功能同上

Enfoque: Introducción a los comandos de operación de procesos

git checkout -b dev origin/dev  //作用是checkout远程的dev分支,在本地起名为dev分支,并切换到本地的dev分支
git checkout -b release origin/release  //checkout远程的release分支,在本地起名为release分支,并切换到本地的release分支
git checkout dev  //切换回dev分支,并开始开发
git init //初始化当前目录为git仓库,该目录下会生成.git文件,一般情况不修改这个文件
git remote add origin git@xxx //连接github
git fetch //fetch 后可看见远程相关分支信息
//(此时,git branch  看不到任何本地分支信息,本地master分支虽然默认分支,但需第一次commit后才会真正存在)
//在当前目录下随便建一个文件 test.txt
git add test.txt //add 文件到暂存区
git commit -m"first commit for init"   //提交到本地版本库
git branch -a //此时,可以看见本地和远程所有的分支信息
git branch  dev //本地建立一个分支
git branch --set-upstream-to=origin/dev dev //将远程分支dev和本地分支dev关联
git pull //可拉取远程分支dev上的代码到本地并由本地分支dev管理 ;若远程和本地分支没有做关联,pull需要指定远程和本地分支信息
git  rm  test.txt //删除本地版本库中的test.txt文件,工作区的文件可手动删除

Supongo que te gusta

Origin blog.csdn.net/qq_42697806/article/details/119567667
Recomendado
Clasificación