• 【GIT】代码仓库服务器变更本地修改并推送


    author: jwensh
    date: 20231122

    问题背景

    没有使用域名的 gitlb 服务器搬移(IP地址变了), 以至于 gitlab 管理的项目无法进行连接及推送。因为涉及到多个项目工程,所以可以用本地配置修改的方式来进行重新关联(这种修改 remote 的方式适用于多个平台代码仓库间同步代码

    命令行操作方式

    old_ip:http://192.168.1.10/jwensh/qadev-ui-testing.git
    new_ip:http://192.168.100.1/jwensh/qadev-ui-testing.git

    # git version 2.39.3 (Apple Git-145)
    
    ╰─$ git remote -h
    usage: git remote [-v | --verbose]
       or: git remote add [-t <branch>] [-m <master>] [-f] [--tags | --no-tags] [--mirror=<fetch|push>] <name> <url>
       or: git remote rename [--[no-]progress] <old> <new>
       or: git remote remove <name>
       or: git remote set-head <name> (-a | --auto | -d | --delete | <branch>)
       or: git remote [-v | --verbose] show [-n] <name>
       or: git remote prune [-n | --dry-run] <name>
       or: git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)...]
       or: git remote set-branches [--add] <name> <branch>...
       or: git remote get-url [--push] [--all] <name>
       or: git remote set-url [--push] <name> <newurl> [<oldurl>]
       or: git remote set-url --add <name> <newurl>
       or: git remote set-url --delete <name> <url>
    
        -v, --verbose         be verbose; must be placed before a subcommand
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    1. 通过命令直接覆盖修改远程地址

    进入 qadev-ui-testing 项目的目录下,命令行输入

    • git remote -v查看所有远程仓库
    origin  http://192.168.1.10/jwensh/qadev-ui-testing.git (fetch)
    origin  http://192.168.1.10/jwensh/qadev-ui-testing.git (push)
    
    • 1
    • 2
    • git remote set-url origin http://192.168.100.1/jwensh/qadev-ui-testing.git 直接覆盖修改

    2. 通过命令先删除旧的,再添加远程仓库

    • git remote rm origin
    • git remote add origin http://192.168.100.1/jwensh/qadev-ui-testing.git

    3. 直接修改配置文件

    修改 [remote “origin”] 下面的 url 即可

    • vim qadev-ui-testing/.git/config
    [core]
            repositoryformatversion = 0
            filemode = true
            bare = false
            logallrefupdates = true
            ignorecase = true
            precomposeunicode = true
    [remote "origin"]
            url = http://192.168.1.10/jwensh/qadev-ui-testing.git
            fetch = +refs/heads/*:refs/remotes/origin/*
    [branch "main"]
            remote = origin
            merge = refs/heads/main
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    小建议

    如果有些特殊情况想要保留源地址,也就是旧的地址,可以将其改名字(github,gitee)

    • git remote rename origin old_origin 将 origin 更改为 old_origin
    • git remote add origin http://192.168.100.1/jwensh/qadev-ui-testing.git 然后在新添加一个 origin
    • git remote -v 查看
    old_origin  http://192.168.1.10/jwensh/qadev-ui-testing.git (fetch)
    old_origin  http://192.168.1.10/jwensh/qadev-ui-testing.git (push)
    origin  	http://192.168.100.1/jwensh/qadev-ui-testing.git (fetch)
    origin  	http://192.168.100.1/jwensh/qadev-ui-testing.git (push)
    
    • 1
    • 2
    • 3
    • 4
  • 相关阅读:
    VUE POST请求 参数出现在URL上
    阿里技术大牛亲自编写,将高难度的 Java 高并发知识讲解得浅显易懂
    C++11
    创建Redis 企业软件数据库
    【数字通信原理】第五章 基带传输理论
    【实战】流动的箭头 —— 线性流动组件(repeating-linear-gradient,@keyFrames)
    ubuntu中cuda12.1配置(之前存在11.1版本的cuda)(同时配置两个版本)
    mediaPlayer MediaPlayer 读取 字节数组
    回顾鹏城论道 | 点燃云原生之火,释放数字原力
    java spring cloud 企业工程管理系统源码+二次开发+定制化服务
  • 原文地址:https://blog.csdn.net/u013948858/article/details/134552718