Uso de git y github

Introducción a git y github

Que es Git

Git es un [sistema de control de versiones] de código abierto [distribuido] para el procesamiento ágil y eficiente de cualquier proyecto grande o pequeño.

Controlador de versiones
CVS / SVN / Git


Cliente / servidor SVN


Sitio web de alojamiento de código / cliente GIT (por ejemplo: github)

Nota 1: También hay sitios de alojamiento de código similares: github / Code Cloud / Alibaba Cloud Code Gestión de código fuente
Nota 2: Tecnología similar GitLab, pero es diferente de
GitHub. GitLab y GitHub pertenecen a trabajos de terceros basados ​​en Git. , Libre y de código abierto. Al igual que en Github, puede registrar usuarios, enviar su código, agregar SSHKey, etc.
La diferencia es que GitLab se puede implementar en tu propio servidor y toda la información, como la base de datos, está en tus manos. Es adecuada para el desarrollo colaborativo dentro del equipo.
Nunca puedes poner la sabiduría del equipo en los servidores de otras personas, ¿verdad? En pocas palabras, GitLab se puede considerar como una versión personal de GitHub.

La diferencia entre Git y SVN (registro clave 1/2/3 puntos)

1.
GIT descentralizado se distribuye, SVN no: esta es la diferencia principal entre GIT y otros sistemas de control de versiones no distribuidos, como SVN, CVS, etc.
2. Cualquier copia del repositorio git se puede usar de forma independiente como servidor
3. Hay cuatro estados de archivos en Git: sin
seguimiento: indica que el archivo se agregó y
modificó recientemente : indica que el archivo se modificó. Pero no se ha guardado en el repositorio de git.
En etapas: indica que la versión actual de un archivo modificado está marcada para ser incluida en la siguiente instantánea enviada
Comprometida: indica que el archivo se ha guardado en el repositorio de git.
4. Otros
GIT no tienen un número de versión global, pero SVN sí: Hasta ahora, esta es la característica más importante de la que carece GIT en comparación con SVN.
La integridad del contenido de GIT es mejor que la de SVN: el almacenamiento de contenido de GIT utiliza el algoritmo hash SHA-1. Esto puede garantizar la integridad del contenido del código y reducir el daño a la biblioteca de versiones en caso de fallas en el disco y problemas de red.
5. Registre instantáneas directamente en lugar de diferencias.
GIT almacena el contenido como metadatos, mientras que SVN se archiva: todos Todos los sistemas de control de recursos ocultan la metainformación de los archivos en una carpeta como .svn, .cvs, etc.
Grabe directamente la instantánea en lugar de la diferencia
6. Grabe directamente la instantánea, no la diferencia La
rama GIT es diferente de la rama SVN La rama no es especial en SVN, es otro directorio en el repositorio.
Inserte la descripción de la imagen aquí

Uso simple de Github

El registro es relativamente simple, por lo que no presentaré demasiado aquí, luego iniciaré sesión en el sitio web de github

Inserte la descripción de la imagen aquí
Cree una biblioteca privada,
Inserte la descripción de la imagen aquí
cree una biblioteca pública,
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
cree un archivo,
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
luego envíe,
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
cree una carpeta,
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
si quiero agregar una descripción al crear un archivo,
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
elimine el almacén
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Descarga e instalación de Git

Dirección de descarga:
https://git-scm.com/downloads Una vez
Inserte la descripción de la imagen aquí
completada la descarga:
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
cree el nombre del directorio del menú de inicio, git predeterminado, no es necesario modificarlo,
Inserte la descripción de la imagen aquí
seleccione el editor utilizado por git,
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
conversión de salto de línea al final de la línea, use el valor predeterminado
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Instalar para
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
detectar el éxito de la instalación, Haga clic con el botón derecho en cualquier ventana o escritorio y aparecerán las siguientes dos opciones
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Comandos comunes de Git

Cuenta de configuración de Git y correo electrónico (máquina local)
Por lo general, el nombre de usuario y la contraseña deben configurarse cuando acaba de instalar Git, porque los usará cuando envíe el código al almacén local (cargue el código a un almacén remoto).
Si no hay configuración, se usará cuando envíe Recordarte. Sin embargo, si solo clona (es decir, descarga) proyectos públicos, ni siquiera necesita registrarse; la cuenta que acabamos de crear es para
bifurcar otros proyectos e impulsar nuestros propios cambios en el futuro .

Configuración de la línea de comandos

0. " Git bash here " para abrir la ventana de comandos
1. Ver la lista de configuración de
git git config --list
Nota 1: Si no hay ninguna configuración, debe estar vacía. Después de completar la configuración de acuerdo con los siguientes pasos, puede intentar el comando nuevamente y aparecerá una serie de información de configuración:
2. Establezca el nombre de usuario / correo electrónico / contraseña
git config --global user.name “username”
git config --global user. email "email"
git config --global user.password "contraseña"

No necesitamos una contraseña. Luego, use la clave ssh
git config --global user.name "xieminglu02"
git config --global user.email "[email protected]"

 注1:全局变量
       --global  表示全局的,即当前用户都有效,该配置会出现在 ~/.gitconfig 文件中,~表示当前用户的目录,
      比如我的是:C:\Users\Administrator\.gitconfig,打开该文件你会发现如下图所示的内容: 
       [user]
   name = xxx
   email = [email protected]
 注2:局部变量
      git config user.name  "username"  
      git config user.email  "email"
      局部是只对当前仓库起效的,它的配置信息会在当前仓库根目录/.git/config文件下
      注意:局部变量覆盖全局变量!!!和编程语言里面的变量关系是一样的。
 注3:删除某个全局配置项
      git config --global --unset user.name

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Escenarios de uso de comandos de Git

Estado del archivo Git y área de trabajo (énfasis) El
estado del archivo git es el contenido principal de git. Después de comprenderlo, será de gran ayuda para las operaciones posteriores. Los diferentes estados de los archivos se almacenan en diferentes áreas de trabajo.
1. Estado del
archivo El archivo en git tiene el siguiente estado
: Sin seguimiento: indica que el archivo se agregó recientemente
Modificado : indica que el archivo se modificó pero no se guardó en el repositorio de git.
En etapas: indica que la versión actual de un archivo modificado está marcada para ser incluida en la siguiente instantánea enviada
Comprometida: indica que el archivo se ha guardado en el repositorio de git.

2. Área de trabajo
Según la computadora local y la computadora remota, existen las siguientes áreas de trabajo:
1)
Directorio de trabajo de la computadora local : el estado del archivo que se está editando. El estado del archivo no se rastrea (destrack) y se modifica (modifica) en esta área.
Área de preparación (área de almacenamiento temporal): guarde la información de la lista de archivos que se enviará la próxima vez. El estado del archivo se almacena en esta área.
Repositorio (almacén local): archivos enviados al almacén local.
2)
Repositorio de computadora remota : archivos que se han enviado a la computadora remota.

Inserte la descripción de la imagen aquí
Comandos de uso común (énfasis)
git clone: ​​clona el almacén remoto en la computadora local.
git status: muestra archivos en diferentes estados en el espacio de trabajo y el área de almacenamiento temporal.
git add: agrega contenido del directorio de trabajo al área de preparación.
git commit: todos los archivos almacenados temporalmente por git add se envían al almacén local.
git push: envíe los registros del almacén local al almacén remoto.
git reset HEAD: Elimina el archivo especificado del área de almacenamiento temporal.
git checkout -: restaura el archivo especificado desde el almacén local.
git pull: extrae datos de almacenes remotos.
git init

Operación práctica: use git para enviar archivos a un almacén remoto (clave)
primero aclare el proceso general:
1. Obtenga el almacén Git del proyecto. El
primero es clonar un nuevo almacén (local) del almacén github existente (remoto).
El segundo es Inicialice un nuevo almacén (local) en el directorio de trabajo y luego asócielo con un almacén (remoto) en Github
2. Realice los cambios que necesite en la biblioteca de clones local, modifique el contenido del archivo, agregue archivos, etc.;
3.add, Comprometerse, empujar la trilogía.

Para clonar un nuevo almacén (local) desde un almacén github existente (remoto)
:
1. Obtenga el almacén Git del proyecto (clon de un almacén github existente)
## Aquí la URL se cambia a la dirección de su propio almacén
git clone https: / /github.com/xieminglu02/library_pub.git

 注1:此命令,会在当前目录下创建一个名为library_pub的目录,其中包含一个 .git 的目录,用于保存下载下来的所有版本记录。
      如果进入这个新建的 library_pub目录,你会看到项目中的所有文件已经在里边了,准备好后续的开发和使用。

 注2:克隆仓库的命令格式为 git clone [url],Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快    
      git clone [email protected]:fsliurujie/test.git          --SSH协议
      git clone git://github.com/fsliurujie/test.git        --GIT协议
      git clone https://github.com/fsliurujie/test.git      --HTTPS协议 
      提问:那平时使用哪个协议最好呢???

 注3:你熟悉其他的 VCS 比如 Subversion,你可能已经注意到这里使用的是 clone 而不是 checkout。这是个非常重要的差别,
      Git 收取的是项目历史的所有数据(每一个文件的每一个版本),服务器上有的数据克隆之后本地也都有了。实际上,
      即便服务器的磁盘发生故障,用任何一个克隆出来的客户端都可以重建服务器上的仓库,回到当初克隆时的状态 
 注4:如果希望在克隆的时候,自己定义要新建的项目目录名称,可以在上面的命令末尾指定新的名字
      git clone https://github.com/xieminglu02/library_pub.git mytest1

Nota 5: Cómo ver el directorio .git (carpetas ocultas por defecto)
menú de la ventana: "Ver" -> "Opciones" -> Seleccionar, pestaña "Ver" -> Marcar "Mostrar archivos, carpetas y unidades ocultos"

2. Después de ver el estado inicial de
git clone a warehouse, ejecute git status.
Nota 1: Otra forma de ver el estado del almacén git es
ingresar al directorio test1. Use el comando ls -ah para mostrar el directorio .git, lo que significa que el clon ha sido exitoso, y Este directorio ya es un almacén que puede administrar git

Inserte la descripción de la imagen aquí
3. Agregar un archivo
Agregue un archivo add.txt t debajo del directorio de origen en este almacén y ejecute git status
Nota 1: Puede ver que hay un "Archivos sin seguimiento" encima del archivo, lo que significa que este archivo está "sin seguimiento"

4. Agregue el archivo recién creado al "área temporal" y
ejecute git add source / add.txt, el add.txt recién creado se enviará al "área temporal" y ejecutará git status después de la ejecución.
Nota 1: Hay Descripción Utilice git reset HEAD para eliminar el archivo especificado del área de almacenamiento temporal.
Inserte la descripción de la imagen aquí

5. Envíe el contenido del "área temporal" al "almacén local" para
ejecutar git commit, y envíe el contenido del "área temporal" al "almacén local", y ejecute git status después de la ejecución:

 注1:如果没有配置帐号或密码,会出现以下提示
      *** Please tell me who you are.
 注2:git commit 时出现:please enter the commit message for your changes,
      默认会启用 shell 的环境变量 $EDITOR 所指定的软件,一般都是 vim(没错啦,就是linux课程使用过滴) 或 emacs,

      即询问你是否要添加“提交说明”
      要输入“提交说明”的话就需要
      1.按键盘字母 i 进入insert模式
      2.修改最上面那行黄色合并信息,可以不修改
      3.按键盘左上角"Esc"
      4.输入":wq",注意是冒号+wq,按回车键即可

      也可以使用 -m 参数后跟“提交说明”方式,在一行命令中提交更新。
      git commit -m “提交说明”
      另外,提交说明在团队合作中是非常重要的一点,要尽量写的简洁而语意清晰

Inserte la descripción de la imagen aquí

6. Envíe el contenido de "almacén local" a "almacén remoto" y
ejecute git push, y envíe el contenido de "almacén local" a "almacén remoto". Después de la ejecución, ejecute el
indicador de estado de git : puede ver que el estado de git vuelve a la inicialización después del envío estado.

Nota: Ingrese el nombre de usuario (correo electrónico o cuenta de inicio de sesión xieminglu02) y la contraseña del sitio web de github aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Aquí es cuando el archivo se modifica y el comentario se envía directamente
git commit -a || -m "El archivo modificado, omita el área de almacenamiento temporal y colóquelo directamente en la descripción del comentario del almacén local"
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Inicialice un nuevo almacén (local) en el directorio de trabajo y luego asócielo con un almacén (remoto) en Github

1. Obtenga el repositorio Git del proyecto (inicialice un nuevo repositorio en el directorio de trabajo).
Para iniciar la administración de Git en un proyecto existente, simplemente vaya al directorio donde se encuentra el proyecto, por ejemplo: D: \ initPath \ git_repository \ library \ library_pub2,
ejecute: git init
2. Igual que arriba
3. Igual que arriba
4. Igual que arriba
5. Igual que arriba
6. Envíe el contenido del "almacén local" al "almacén remoto" para
ejecutar git push y envíe el contenido del "almacén local" al "almacén remoto", Se informará el siguiente error
fatal: No hay un destino de envío configurado.
Especifique la URL desde la línea de comandos o configure un repositorio remoto usando
Esto se debe a que el almacén local no está asociado con ningún repositorio remoto, por lo que debe proporcionarse al enviar por primera vez La URL del almacén remoto, las operaciones específicas son las siguientes:

 ## 在github先建仓库test3,目前,在GitHub上的这个仓库还是空的,GitHub告诉我们,可以从这个仓库克隆出新的仓库,
 ## 也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。
 1.打开浏览器,登陆github后,新建一个仓库test3(目前在GitHub上的这个仓库还是空的),它的地址为:
   https://github.com/xieminglu02/library_pub2.git

   注1:在GitHub主页创建test3仓库,注意不要添加README.md等任何文件

 2.将本地仓库的当前分支与远程仓库相关联 
   git remote add origin https://github.com/lixiao12/test224_pub2.git

   注1:语法:git remote add <name> <url>
        远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库
   注2:https://github.com/lixiao12/test224_pub2.git改成自己仓库对应的URL
   注3:补充命令,如果url打错了,可以通过如下命令修改远程仓库关联
        git remote set-url origin https://github.com/lixiao12/test224_pub2.git

 3.将本地代码库的某一分支(eg:master)推送到远程的代码库
   git push -u origin master
   注1:把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程
        由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,
        还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
   注2:补充命令,查看git仓库的远程代码库的地址:git remote -v
   注3:再次添加文件b.txt,依次add/commit/push操作,则与之前没有区别了  

Utilice git para extraer de un almacén remoto a un almacén local (foco)
git pull

Conflicto de Git

1. Primero extraiga el código del almacén remoto al local, luego modifique el código de conflicto, git pull
Nota 1: estado de git para ver el estado del almacén, se mostrará un mensaje de error rojo "ambos modificados: conflict.txt"

2. Abra el
archivo conflict.txt y modifique manualmente el código de la parte del conflicto <<<<<<< HEAD
directorio library_pub para modificar
=======
directorio library_pub2 para modificar
>>>>>>>> b6d61fdf3b4088b12c83e0a72dc5a431a023c0c2
Nota 1: <<< El código entre <<<< HEAD >>>>>>> es el código en conflicto, puede modificarlo manualmente

3. A su vez, agregar / confirmar / enviar código al almacén remoto
se completó la ejecución de la confirmación, vuelva a verificar el estado del almacén git status, el mensaje de error rojo "ambos modificados: conflicto.txt"
ya no está allí, lo que indica que el conflicto se ha resuelto

Supongo que te gusta

Origin blog.csdn.net/xieminglu/article/details/102934355
Recomendado
Clasificación