【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

shell 复制代码
# 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. 通过命令直接覆盖修改远程地址

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

  • git remote -v查看所有远程仓库
shell 复制代码
origin  http://192.168.1.10/jwensh/qadev-ui-testing.git (fetch)
origin  http://192.168.1.10/jwensh/qadev-ui-testing.git (push)
  • 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
shell 复制代码
[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

小建议

如果有些特殊情况想要保留源地址,也就是旧的地址,可以将其改名字(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 查看
shell 复制代码
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)
相关推荐
韩楚风8 分钟前
【linux 多进程并发】linux进程状态与生命周期各阶段转换,进程状态查看分析,助力高性能优化
linux·服务器·性能优化·架构·gnu
陈苏同学11 分钟前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
Pythonliu733 分钟前
茴香豆 + Qwen-7B-Chat-Int8
linux·运维·服务器
我是哈哈hh1 小时前
专题十_穷举vs暴搜vs深搜vs回溯vs剪枝_二叉树的深度优先搜索_算法专题详细总结
服务器·数据结构·c++·算法·机器学习·深度优先·剪枝
郭二哈1 小时前
C++——模板进阶、继承
java·服务器·c++
挥剑决浮云 -1 小时前
Linux 之 安装软件、GCC编译器、Linux 操作系统基础
linux·服务器·c语言·c++·经验分享·笔记
立秋67892 小时前
Python的defaultdict详解
服务器·windows·python
Lansonli2 小时前
云原生(四十一) | 阿里云ECS服务器介绍
服务器·阿里云·云原生
john_hjy3 小时前
11. 异步编程
运维·服务器·javascript
x晕x3 小时前
Linux dlsym符号查找疑惑分析
linux·运维·服务器