Sube el proyecto WSL a gitlab

configurar ssh

Gitlab agrega CLAVE SSH

¿Qué es SSH?
SSH es un protocolo de red que proporciona autenticación a nivel de protocolo y funciones de gestión de sesiones. Además, cuando se trata de configurar servicios SSH, cualquiera puede crear fácilmente servicios con altos niveles de seguridad. En comparación, el protocolo HTTP no tiene las características anteriores.

En WSL (Subsistema de Windows para Linux), la clave pública SSH generalmente se almacena en el directorio ~/.ssh del usuario. El nombre del archivo específico suele ser id_rsa.pub (para claves RSA) u otro nombre relacionado con el algoritmo de clave utilizado.

# 找到SSH公钥:您可以通过以下命令查找并显示您的SSH公钥
cat ~/.shh/id_rsa.pub
# 如果该命令返回“没有那个文件或目录”之类的消息,那么您可能还没有生成SSH密钥。

# 生成新的SSH密钥:如果您没有SSH密钥,您可以使用以下命令生成一个新的SSH密钥:
ssh-keygen -t rsa -b 4096
#一路按enter即可, 这通常会在~/.ssh目录下生成一个新的SSH密钥对(id_rsa和id_rsa.pub)。

# 添加到ssh-agent:确保ssh-agent正在运行,并将您的私钥添加到ssh-agent。您可以用以下命令来实现
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa

# 查看SSH公钥
cat ~/.shh/id_rsa.pub

Tenga en cuenta que los comandos y rutas de archivos anteriores suponen que está ejecutando estas operaciones en un entorno Linux en WSL, no en un entorno Windows. En WSL, generalmente debes usar las rutas de archivo y los comandos de Linux.

Una vez que encuentre o genere su clave pública SSH, puede copiarla y pegarla en GitLab u otro servicio remoto de Git para completar la autenticación. Asegúrese de no incluir accidentalmente espacios adicionales o nuevas líneas, lo que podría provocar que la clave no funcione correctamente.
Insertar descripción de la imagen aquí

Agregue la clave pública SSH a Gitlab

Utilice la siguiente figura para encontrar la ubicación de las claves SSH
Insertar descripción de la imagen aquí

Copie el contenido resultante de cat ~/.shh/id_rsa.pub y luego péguelo en la sección Clave para generar las siguientes claves SSH. Asegúrese de que la clave SSH se haya
Insertar descripción de la imagen aquí
cargado
. Ejecute el siguiente comando en la computadora local para asegurarse de que la clave SSH ha sido cargada en ssh-agent.


# 确保SSH密钥已加载
ssh-add -l


# 测试SSH连接
ssh -T git@git.gxar.com
# 如果一切正常,您应该会看到一个欢迎消息

# 确保您有权限访问此仓库
#确保您的GitLab账户有权限访问您试图推送到的远程仓库。如果您没有权限,您将无法进行推送

# 检查远程仓库URL
git remote -v

Insertar descripción de la imagen aquí

Cargar código en WSL a gitlab

Asegúrese de tener git instalado en su entorno WSL

Si aún no está instalado, puede instalarlo usando el siguiente comando:

sudo apt update
sudo apt install git

Los siguientes son los pasos específicos para cargar código en GitLab:

Crear un repositorio GitLab

  1. Inicie sesión en su cuenta de GitLab
  2. Haga clic en "Nuevo proyecto" para crear un nuevo repositorio de código.
  3. Ingrese un nombre de proyecto, una descripción opcional y seleccione la visibilidad del proyecto.
  4. Haga clic en "Crear proyecto"

Subir código desde WSL

  1. Inicialice el repositorio local
    En WSL, abra el directorio donde se encuentra su código.
cd path/to/your/project

Por ejemplo, quiero cargar todos los archivos en mi carpeta TEXTurePaper e
Insertar descripción de la imagen aquí
inicializar un nuevo repositorio Git.

git init
  1. Agregue todos los archivos al nuevo repositorio de Git
git add .

NOTA: Esto agregará todos los archivos en el directorio y subdirectorios actuales. Si solo desea agregar archivos o carpetas específicos, puede especificarlos (por ejemplo: git add o git add <nombre de carpeta>/).

  1. Envía tu código
git commit -m "Initial commit"

4. Agregue el repositorio GitLab como repositorio remoto

Copie el enlace "Clonar con HTTPS" o "Clonar con SSH" de la página del proyecto GitLab.

git remote add origin <Copied-URL>

Por ejemplo:

# 使用HTTPS
git remote add origin https://gitlab.com/username/project.git

O si usa SSH , ¡aquí se recomienda SSH! ! !

# 使用SSH
git remote add origin git@gitlab.com:username/project.git

  1. Enviar código a GitLab
# git push -u origin master
git push -u origin main

Esto enviará el código a la rama denominada "principal" en GitLab.

  1. Verificación y finalización
    Abra GitLab, actualice la página del proyecto y debería poder ver el código cargado.

De esta manera, habrá subido con éxito el código del entorno WSL a GitLab.

Varios errores que puede encontrar

(base) aaa@ASUS:~/ML/paper/TEXTurePaper$ git commit -m "Initial commit"

*** 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 name (for <aaa@ASUS.localdomain>) not allowed

Este error se debe a que Git necesita saber quién realizó la confirmación, por lo que requiere que establezcas un nombre de usuario y una dirección de correo electrónico globales o específicos para el repositorio actual.

Estos son los pasos de la solución:

Opción 1:
Establecer un nombre de usuario y correo electrónico a nivel global (¡¡ no recomendado!!! )
Si desea utilizar el mismo nombre y correo electrónico en todos los repositorios de Git, puede ejecutar el siguiente comando:

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

Opción 2:

Establecer nombre de usuario y correo electrónico a nivel de repositorio.
Si solo desea configurar el nombre de usuario y el correo electrónico para el repositorio Git actual, puede omitir la opción --global en el mismo comando:

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

Del mismo modo, reemplace "[email protected]" y "Su nombre" con su dirección de correo electrónico y nombre reales.

Enviar su código
Una vez que complete esta configuración, puede intentar enviar su código nuevamente:

git commit -m "Initial commit"

El mensaje de error anterior no debería aparecer esta vez. Luego puede continuar con los pasos anteriores y enviar el código a GitLab.

(base) aaa@ASUS:~/ML/paper/TEXTurePaper$ git remote add origin https://git.gxar.com/demo/TEXTure.git
fatal: remote origin already exists.

Este error indica que ya existe un repositorio remoto llamado origin en el repositorio Git actual. Si está seguro de que desea reemplazar el origen existente con una nueva URL, puede eliminar primero la anterior y luego agregar la nueva.

Ver repositorios remotos existentes
Primero, puede ver todos los repositorios remotos asociados y sus URL:

git remote -v

Eliminar el origen existente
Si está seguro de que desea reemplazarlo, puede eliminar el origen existente primero:

git remote remove origin
# 或者使用
git remote rm origin

Agregar un nuevo origen
Luego puede agregar el origen usando la nueva URL:

git remote add origin https://git.gxar.com/demo/TEXTure.git

Alternativamente, cambie la URL del origen directamente.
Si no desea eliminar el origen existente, también puede actualizar su URL directamente:

git remote set-url origin https://git.gxar.com/demo/TEXTure.git

De esta manera, habrá cambiado con éxito la URL del repositorio remoto. Después de eso, puede continuar enviando código al origen recién configurado.

(base) aaa@ASUS:~/ML/paper/TEXTurePaper$ git push -u origin master
error: src refspec master does not match any
error: failed to push some refs to 'https://git.gxar.com/demo/TEXTure.git'

Verifique la rama actual
Primero, asegúrese de estar en la rama que desea enviar (generalmente maestra o principal). Puede utilizar el siguiente comando para ver todas las ramas:

git branch

Insertar descripción de la imagen aquí

(base) aaa@ASUS:~/ML/paper/TEXTurePaper$ git remote add origin git@git.gxar.com:demo/TEXTure.git
fatal: remote origin already exists.

Este error indica que ya existe un repositorio remoto llamado origin en su configuración local de Git. Si desea agregar un nuevo repositorio remoto y nombrarlo origen, tiene dos opciones:

Opción 1: eliminar el antiguo repositorio remoto.
Primero, use el siguiente comando para ver la configuración actual del repositorio remoto:

git remote -v

Esto enumerará todos los repositorios remotos y sus URL.

b Luego, use el siguiente comando para eliminar el origen existente:

git remote remove origin

c Finalmente, agregue el nuevo origen:

git remote add origin git@git.gxar.com:demo/TEXTure.git

Opción 2: usar un nombre diferente
Si no desea eliminar el origen anterior, puede elegir un nombre diferente para su nuevo repositorio remoto.

git remote add new_origin git@git.gxar.com:demo/TEXTure.git

Luego, puede usar este nuevo nombre (nuevo_origen) para realizar operaciones de inserción, extracción, etc.

Por ejemplo:

git push -u new_origin main

Después de elegir una solución, siga los pasos correspondientes y su problema debería estar resuelto.


(base) aaa@ASUS:~/ML/paper/TEXTurePaper$ git commit -m "Initial commit"
On branch main
nothing to commit, working tree clean

Este mensaje significa que Git no encontró ningún cambio no confirmado cuando intentó realizar una confirmación de Git. En otras palabras, su directorio de trabajo está "limpio", lo que significa que no ha realizado ningún cambio o ha preparado y confirmado todos los cambios.

Hay varios escenarios posibles aquí:

No hay archivos nuevos ni cambios: si acaba de inicializar un nuevo repositorio de Git o no ha realizado ningún cambio, entonces Git, naturalmente, no tiene nada que confirmar.

Se han confirmado los cambios: si previamente agregó y confirmó todos los cambios, el directorio de trabajo también estará limpio.

Cómo solucionarlo
Si tiene archivos nuevos o cambios que deben confirmarse, asegúrese de agregarlos primero usando el comando git add <archivo>. Por ejemplo:

git add myfile.txt

O agregue todos los cambios:

git add .

Luego intente enviar nuevamente:

git commit -m "Your commit message"

Si no está seguro de si hay cambios no agregados o no confirmados, puede usar el siguiente comando para verificar:

git status

Esto mostrará todos los cambios no preparados o no confirmados.

Si git status muestra que su árbol de trabajo está limpio, pero cree que hay algunos cambios que deberían confirmarse, es posible que se encuentre en el directorio o rama equivocado. Asegúrese de estar en el directorio de trabajo correcto y de haber cambiado a la rama que contiene sus cambios.

  1. ¡Usa la URL SSH!
    He estado usando HHTPS antes, pensé que estaba usando SSH:
git remote add origin https://git.gxar.com/demo/demo-texture.git我使用的是这个,这个应该是SSH吧

De hecho, la URL https://git.gxar.com/demo/demo-texture.git utilizada anteriormente es una URL HTTPS, no una URL SSH.

HTTPS y SSH son dos protocolos diferentes que se utilizan para comunicarse con repositorios Git remotos:

Las URL HTTPS suelen tener este aspecto: https://<hostname>/<user>/<repository>.git.
Una URL SSH normalmente tiene este aspecto: git@<hostname>:<user>/<repository>.git.
Si desea utilizar SSH, debe encontrar el formato SSH de la URL del repositorio de Git. Por lo general, esto se puede encontrar en la sección "Clonar" o "Clonar repositorio" del repositorio de GitLab.

Después de encontrar la URL SSH, puede cambiar la URL del repositorio remoto usando el siguiente comando:

git remote set-url origin git@git.gxar.com:demo/demo-texture.git

Nota: Antes de usar SSH, asegúrese de haber generado una clave SSH y haberla agregado a su cuenta de GitLab. También asegúrese de que el agente SSH se esté ejecutando y tenga su clave SSH cargada. Estos pasos son necesarios para la autenticación SSH.

Supongo que te gusta

Origin blog.csdn.net/weixin_43845922/article/details/132492383
Recomendado
Clasificación