【Git】 Configuración multiusuario de Git

Introducción: cuando trabajamos, a veces creamos demostraciones de proyectos nosotros mismos para implementar algunas funciones, pero no queremos colocar nuestro código de demostración en la plataforma de código de almacén de la empresa (GitLab) para su administración, por lo que solo queremos colocarlo en nuestro Posee GitHub o administración en Gitee, por lo que necesita configurar Git multiusuario.

Este artículo configurará dos usuarios en gitLab y gitee (porque GitHub siempre se queja de no poder iniciar sesión y es demasiado vago para navegar científicamente por Internet) y realizará operaciones de git en los proyectos a los que pertenecen respectivamente. Lo mismo que configurar múltiples usuarios. Operado parcialmente.

1. Borrar configuración global

Ejecute el comando para verificar si existe una configuración global:

git config --global --list

Si hay información de nombre de usuario y correo electrónico de usuario, ejecute el siguiente comando para borrarlo:

git config --global --unset user.name
git config --global --unset user.email

2. Cambie la línea de comando al directorio ssh

cd ~/.ssh

3. Generar claves públicas y privadas para GitLab y Gitee

ssh-keygen -t rsa -C “代码仓库注册的邮箱”

Después de presionar la tecla ENTER, aparecerá el siguiente mensaje:

Generando un par de claves públicas/privadas. Ingrese el archivo en el que guardar la clave
(/Users/jitwxs/.ssh/id_rsa):

Ingrese aquí el nombre de la clave pública. Por defecto, se llama id_rsa. Para distinguirla de la configuración posterior de gitee, ingrese id_rsa_gitlab aquí. Después de ingresar, presione Enter hasta el final y se generará el par de claves.
Insertar descripción de la imagen aquí

A continuación, comience a generar el par de claves del almacén en gitee. Los pasos son los mismos que los anteriores. El nombre de la clave pública generada se llama: id_rsa_github (en realidad, puede llamarlo como quiera. Lo nombré mal aquí y es github ).
Después de completar este paso, estos archivos se generarán en el directorio "/c/Users/Administrator/.ssh/".
Insertar descripción de la imagen aquí

4. Vaya al repositorio de código correspondiente y agregue claves SSH

Para GitLab, abra id_rsa_gitlab.pub y cópielo todo, luego vaya al almacén para agregarlo. El contenido copiado se copia en la clave. El título se puede llamar como desee y parece que se agrega automáticamente.
Insertar descripción de la imagen aquí

5. Agregar clave privada

En el paso anterior, agregamos la clave pública al servidor github o gitlab, también necesitamos agregar la clave privada localmente, de lo contrario no se puede usar. Agregar comandos también es muy simple, de la siguiente manera:

ssh-add ~/.ssh/id_rsa_gitlab // 将 GitLab 私钥添加到本地
ssh-add ~/.ssh/id_rsa_gitee // 将 Gitee 私钥添加到本地

si aparece

No se pudo abrir una conexión con su agente de autenticación.

Luego ejecute el siguiente comando primero para resolver este problema perfectamente.

ssh-agent bash

Una vez completada la adición, puede verificarla ejecutando ssh-add -l. Si se muestra como se muestra a continuación, está bien.

ssh-add -l
3072 SHA256:************ “邮箱”(RSA)
3072 SHA256:************ “邮箱”(RSA)

6. Claves de gestión

Mediante los pasos anteriores, la clave pública y la clave privada se agregan al servidor git y localmente respectivamente. A continuación, debemos crear un archivo de configuración de clave localmente, a través del cual se puede seleccionar automáticamente la clave privada adecuada en función de la dirección de enlace remoto del almacén.

Edite el archivo de configuración en el directorio ~/.ssh. Si no existe, debe crearlo.
El contenido es el siguiente:

Host gitlab
Nombre de host gitlab.com
Usuario usergitlab
IdentityFile ~/.ssh/id_rsa_gitlab
Host gitee
HostName gitee.com
Usuario usuario
IdentityFile ~/.ssh/id_rsa_gitee

Este archivo está dividido en múltiples configuraciones de usuario, cada configuración de usuario contiene los siguientes elementos de configuración:

Host: el alias del sitio web del almacén, elíjalo como desee (la sugerencia personal puede ser la misma que HostName)
HostName: el nombre de dominio del sitio web del almacén (PD: la dirección IP también debe estar bien)
Usuario: el nombre de usuario en el Sitio web del almacén
IdentityFile: la ruta absoluta de la clave privada

7. Verificación

Nota: no hay espacio entre git y @

ssh -T git@github.com 

Aparece el siguiente mensaje, que demuestra que la configuración se realizó correctamente.

$ ssh -T git@gitee.com
Hi user! You've successfully authenticated, but GITEE.COM does not provide shell access.

Jan@Jancar MINGW64 ~/.ssh
$ ssh -T git@gitlab.com
Welcome to GitLab, user!

8. Configuración del almacén

¡Felicidades! Después de completar la configuración anterior, básicamente ha completado todas las configuraciones. Ingrese a los almacenes adjuntos a github y gitlab respectivamente, y podrá realizar operaciones de git en este momento. Pero no se preocupe, si envía la modificación del almacén en este momento, encontrará que el nombre de usuario enviado se convierte en el nombre de host de su sistema.

Esto se debe a que la configuración de git se divide en tres niveles, Sistema —> Global —> Local. Sistema es el nivel del sistema, Global es la configuración global, Local es el nivel de almacén y la prioridad es Local > Global > Sistema.

Debido a que no configuramos un nombre de usuario para el almacén y borramos el nombre de usuario global al principio, si envía en este momento, utilizará el nombre de usuario a nivel del sistema, que es el nombre de host de su sistema.

Por lo tanto, necesitamos configurar la información del nombre de usuario por separado para cada almacén. Supongamos que queremos configurar un determinado almacén de github. Después de ingresar al almacén, ejecute:

git config --local usuario.nombre "nombre de usuario"
git config --local usuario.email "correo electrónico"

Después de la ejecución, ejecute el siguiente comando para ver toda la información de configuración de este almacén:

git config --local --lista

En este punto, ha configurado la configuración de nivel local. Ahora, cuando envíe el código para el almacén, el nombre de usuario que envía será el nombre de usuario de nivel local que configuró.

Acerca de [email protected]: Permiso denegado (clave pública)

Obviamente mi ejecución fue exitosa en el directorio .ssh, pero no pudo ir al almacén para ser enviado,
En el directorio .ssh
Insertar descripción de la imagen aquí
así que me pregunté si tenía algo que ver con HostName y Host, porque mi HostName y Host eran diferentes,
Insertar descripción de la imagen aquí
así que pensé que pensé. sobre probar ssh -T git@gitee en el directorio del almacén.
Insertar descripción de la imagen aquí
Inesperadamente, tuvo éxito y de repente me di cuenta.

Aquí hay dos soluciones
: 1. Modifique el Host y el Nombre del host para que sean iguales (comience desde el paso 6 de este artículo)
2. Cambie la URL remota en /.git/config en el directorio del almacén desde
url = [email protected]: nombre/demo -collection.git
se modifica a url = git@gitee:nombre/demo-collection.git
Insertar descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/tuhuanxiong/article/details/131421190
Recomendado
Clasificación