最近公司服务器做了调整,gitlab做了一次数据迁移。由于整个服务器做了变更,对应的ip地址也发生了变化,旧的gitlab服务已停用。那么本地的很多项目代码如何一次性修改git远程地址呢。这边分享一个一键替换原git url中ip的bat脚本。
@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion
REM 设置旧IP和新IP
set OLD_IP=192.168.111.120
set NEW_IP=192.168.110.96
REM 设置项目根目录,也就是的你工作空间
set ROOT_DIR=D:\workspace\
echo ==== 批量更新 git 仓库 URL ====
for /r "%ROOT_DIR%" %%D in (.) do (
if exist "%%D\.git" (
pushd "%%D"
set ORIGIN_URL=
for /f "delims=" %%u in ('git remote get-url origin 2^>nul') do (
set ORIGIN_URL=%%u
)
if defined ORIGIN_URL (
echo !ORIGIN_URL! | findstr /C:"%OLD_IP%" >nul
if !errorlevel! == 0 (
set NEW_URL=!ORIGIN_URL:%OLD_IP%=%NEW_IP%!
echo 仓库: %%D
echo 原 URL: !ORIGIN_URL!
echo 替换为: !NEW_URL!
REM 真正执行替换
git remote set-url origin !NEW_URL!
echo -----------------------------
)
)
popd
)
)
echo ==== 批量更新完成 ====
pause
225



被折叠的 条评论
为什么被折叠?



