Migración del repositorio git local a repositorio git remoto

Para la conveniencia de la siguiente discusión, llamaremos al almacén de git para que se migre como almacén local, y al almacén de git remoto como almacén remoto. Requeriendo mantener los registros de envío, los siguientes son los pasos de migración.

1. Crear un almacén remoto vacío

1.1. Crear en la página web de GitLab

Una vez completada la creación, obtendrá la dirección git: http://10.69.12.11/android/hello.git

1.2. Crear usando la API proporcionada por GitLab o GitHub

Para usar la API de la manera más simple, escribiré un script de shell en el archivo de configuración ~ / .bashrc para completar:

~$ vim ~/.bashrc

Agregue el siguiente contenido al final de .bashrc:

  • Versión de GitLab:
repo_create(){
		# 判断是否存在参数,有,则赋给repo_name变量,否则使用当前目录作为repo_name的值
        if [ $1 ];then
                repo_name=$1
        else
                repo_name=`basename $(pwd)`
                echo "set Repo Name to ${repo_name}"
        fi
        # 使用GitLab Api创建远程仓库
        # oExkVZEW2WKDcoF6mXdW是Personal access tokens,在gitlab web上创建
        # name=${repo_name}是指定仓库的名称
        # namespace_id=12是group id可以在gitlab上查到
        # http://10.69.12.11/api/v4/projects,则是GitLab服务器的地址,及api
        curl -k --request POST --header "PRIVATE-TOKEN:oExkVZEW2WKDcoF6mXdW" --data "name=${repo_name}&namespace_id=12" http://10.69.12.11/api/v4/projects
}
  • Versión de GitHub:
repo_create(){
		# 判断是否存在参数,有,则赋给repo_name变量,否则使用当前目录作为repo_name的值
        if [ $1 ];then
                repo_name=$1
        else
                repo_name=`basename $(pwd)`
                echo "set Repo Name to ${repo_name}"
        fi
        # 使用GitHub Api创建远程仓库
        # 8ad7a0e3faaa7574c4c1f38b5280c7d9ecf980ab是Personal access tokens,在GitHub上创建
        # '{"name":"'${repo_name}'"}'是指定仓库的名称
        curl -u '[email protected]:8ad7a0e3faaa7574c4c1f38b5280c7d9ecf980ab' https://api.github.com/user/repos -d '{"name":"'${repo_name}'"}'
}

Ejecute el comando de origen para usar el archivo de configuración para que surta efecto:

~$ source ~/.bashrc

Use repo_create para crear un almacén remoto:

~$ repo_create Hello

Después de una creación exitosa, volverá a http://10.69.12.11/android/hello.git.
Referencia de la API de GitLab https://docs.gitlab.com/ce/api/

2. Eliminar el almacén remoto originalmente asociado con el almacén local

~/local_project$ git remote rm origin

3. Asociar el almacén local al nuevo almacén remoto.

~/local_project$ git remote add origin http://10.69.12.11/android/hello.git

Nota : Si no se realiza la operación del punto 2, se informará el siguiente error:

fatal: el origen remoto ya existe.

4. Envíe el código del almacén local al caché que se enviará

~/local_project$ git add .

5. Escribe una nota (opcional)

~/local_project$ git commit -m "迁移Local_project项目到远程hello仓库"

6. Combinar el historial (cuando el almacén remoto se crea e inicializa, ha realizado la operación git init, es necesario realizar este paso de operación, de lo contrario, omitir)

6.1. Especifique la rama a fusionar

~/local_project$ git branch --set-upstream-to=origin/master master

Nota: lo anterior significa fusionar la rama maestra local con la rama maestra / origen remota.

6.2. Iniciar fusión

~/local_project$ git pull origin master --allow-unrelated-histories

7. Envía el código

Enviar código al almacén remoto

~/local_project$ git push -u origin master

Haga clic para seguir:

Inserte la descripción de la imagen aquí

Publicado 381 artículos originales · elogiado 85 · 80,000 vistas +

Supongo que te gusta

Origin blog.csdn.net/weixin_40763897/article/details/105555429
Recomendado
Clasificación