美文网首页
一种git代码的迁移方案

一种git代码的迁移方案

作者: yandaren | 来源:发表于2020-04-27 17:12 被阅读0次

    1. 这里提供一种基于同步git代码的迁移方案

    • 先clone出老的responsity的代码
    • 然后在拉取所有的远程分支到本地
    • 添加新的远程url
    • 将代码push到新的url

    2. 参考脚本

    • window dos shell
    @echo off
    
    :: clone old repo
    git clone old_url
    
    :: 如果clone出来的代码根目录是repo_dir
    cd repo_dir
    
    :: fetch all remote branches
    
    git branch -r | findstr /v ">" > tmp.log
    
    set targe=''
    setlocal enabledelayedexpansion
    for /f   %%i in (tmp.log)  do (
    set remote=%%i
    set var=!remote:origin/=!
    echo "!var!"
    git branch --track !var! !remote!
    ) 
    
    git fetch --all
    git pull --all
    
    git remote rename origin old-origin
    git remote add origin new_url
    
    git push -u origin --all
    git push -u origin --tags
    
    
    :: del tmp data
    del ..\\tmp.log
    
    echo "migrate finish!"
    
    pause
    
    • linux bash shell
    #!/bin/bash
    
    # clone old repo
    git clone old_url
    
    # 如果clone出来的代码根目录是repo_dir
    cd repo_dir
    
    # fetch all remote branches
    git branch -r | grep -v '\->' | while read remote; do git branch --track "${remote#origin/}" "$remote"; done
    git fetch --all
    git pull --all
    
    git remote rename origin old-origin
    git remote add origin new_url
    
    git push -u origin --all
    git push -u origin --tags
    
    echo "migrate finish!"
    
    

    相关文章

      网友评论

          本文标题:一种git代码的迁移方案

          本文链接:https://www.haomeiwen.com/subject/kuluwhtx.html