git代码仓库迁移(从github到oschina)【转】
转自:http://blog.csdn.net/a5244491/article/details/44807937
版权声明:本文为博主原创文章,未经博主允许不得转载。
因为一些特殊原因,需要将公司原来的代码仓库从github移植到oschina上去,项目手工操作很麻烦。自己整理了一下,写了简单的几个脚本来处理了。
在这之前,必须先手动在新的Git仓库上把项目先建立好,否则是不会成功的。(也许有命令行方式,还请告知,我不会)
1 先建立个空的目录,用来down工程以及处理工程
$ mkdir migrate
2 cd migrate #进入目录
3 执行自己写的迁移工具
$ gitmigrate git@git.oschina.NET:a5244491/xxxx
若有多个工程可把所有工程的ssh git地址都写到文件中,然后一次性处理。
以下是gitmigrate.sh的代码,使用方法就是gitmigrate $原git仓库上某个项目的ssh地址
#!/usr/bin/env bash
# $1 是源地址
temp=$1
name=${temp##*/} #截取 core-lib.git
#tar="git@git.oschina.net:a5244491/"$name
tar="https://git.oschina.Net/a5244491/"$name
#tar="git@code.csdn.net:lianyin2013/"$name
name=${name%.*} #截取 core-lib
echo "-------------------------git migrate -------------------------"
echo "-----from" $1
echo "-----to " $tar
echo "-------------------------git clone -------------------------"
echo "-----from" $1
git clone $1
echo "-------------------------finish clone-------------------------"
echo "-------------------------change dir -------------------------"
echo "-----to " $name
cd $name
gitbranchtrack
echo "-------------------------finish branch track -------------------------"
echo "-------------------------list branch track -------------------------"
git branch
echo "-------------------------change to new repo -------------------------"
echo "------" $tar
git remote set-url origin $tar
echo "-------------------------git fetch all-------------------------"
#git fetch --all
echo "-------------------------tal all-------------------------"
git add .
git commit -m "migrate commit."
echo "-------------------------git push all branchs -------------------------"
git push --all
echo "-------------------------finish git push all branch -------------------------"
git remote -v
其中gitbranchtrack
代码如下
#!/usr/bin/env bash
echo "track all branchs exculde master and HEAD"
#!/bin/bash
for branch in `git branch -a | grep remotes | grep -v HEAD | grep -v master`; do
git branch --track ${branch##*/} $branch
done
git fetch --all
git pull --all
git代码仓库迁移(从github到oschina)【转】的更多相关文章
- Git本地仓库与远程github同步的时候提示fatal: remote origin already exists 错误解决办法
Git本地仓库与远程github同步的时候提示fatal: remote origin already exists 错误解决办法 1.git在本地的电脑创建了仓库,要远程同步github的仓库.使用 ...
- Git代码仓库的建立流程
Git作为现在比较流行的版本管理工具,其配置非常简单.方便. 下面举一个简单例子,说明如何在服务器上建立一个公共的git代码仓库. 1.确保服务器上已经打开ssh服务,可以用ps -e | grep ...
- gitlab代码仓库迁移
有的时候我们需要对gitlab上的代码进行迁移,希望在迁移后能保持原有的branch.tag.commit记录等.可以使用以下方式: 1.clone代码到本地. 2.修改remote仓库的地址,添加新 ...
- git(代码仓库)
第1章 git介绍 1.1 参数: 第2章 git管理一个项目 2.1 图示 2.2 cd /项目路径 2.3 git config --globle user.email "邮箱地址&q ...
- Git创建仓库的方法(github翻译)
…通过命令行创建一个新的仓库 echo "# GitTest" >> README.md # 船舰一个说明文件,说明内容是 "# GitTest" ...
- 华为云实战开发】5.如何快速创建免费Git代码仓库【华为云技术分享】
1 文章目的 本文主要帮助已经掌握或者想要掌握Git的开发者,如何更好的应用Git,以及更好的将Git与DevCloud结合应用. 2 概述 2.1 版本控制系统介绍 从狭义上来说,版本控制系统是软件 ...
- CENTOS下搭建git代码仓库 ssh协议
centos服务器下搭建git仓库,使用ssh协议管理仓库代码权限 git官网(http://git-scm.com/) 使用ssh协议: 一.安装git,使用yum install git 或 ...
- bitbucket/github同一站点上多个git代码仓库的ssh-key配置
由于项目开发需要,可能多个项目都放在bitbucket或者github上面,每个项目都有独立的sshkey,这就会造成push时的系统默认取~/.ssh/id_rsa的问题. 最简单的解决方法是这样: ...
- Git远程仓库的使用(github为例)
一. 创建SSH key 输入命令“ssh-keygen –t rsa”创建ssh key. 由于笔者pc机已有ssh key,这里不再重复创建覆盖,仅做演示. 笔者创建好的s ...
随机推荐
- B1091 N-自守数 (15分)
B1091 N-自守数 (15分) 如果某个数 \(K\)的平方乘以\(N\) 以后,结果的末尾几位数等于 \(K\),那么就称这个数为"\(N\)-自守数".例如 \(3×92 ...
- 18式优雅你的Python
本文来自读者梁云同学的投稿,公众号:Python与算法之美 一,优雅你的Jupyter 1,更改Jupyter Notebook初始工作路径 平凡方法: 在cmd中输入jupyter notebook ...
- 20145202马超GDB调试汇编堆栈过程分析
20145202马超GDB调试汇编堆栈过程分析 esc :w保存,:wq保存并退出 x:删除错误的单个字母 dw:删除整个单词 gcc hello.c -o hello:运行hello.c gcc - ...
- 5,MongoDB 之 "$" 的奇妙用法
在MongoDB中有一个非常神奇的符号 "$" "$" 在 update 中 加上关键字 就 变成了 修改器 其实 "$" 字符 独立出现 ...
- Hibernate SQL方言
RDBMS 方言 DB2 org.hibernate.dialect.DB2Dialect DB2 AS/400 org.hibernate.dialect.DB2400Dialect DB2 OS3 ...
- shell判断文件是否存在[转]
原文出处: http://canofy.iteye.com/blog/252289 shell判断文件,目录是否存在或者具有权限 #!/bin/sh myPath="/var/log/htt ...
- LDAP操作的两种方案
最近由于项目需要研究了一下LDAP相关知识,感觉对没接触过的人来说还是有点坑的,所以记录下来给大家分享. 由于是第一次接触,就在网上搜了一些相关的文章,照着示例代码测试,却怎么也连不上LDAP服务器, ...
- 剑指Offer - 九度1521 - 二叉树的镜像
剑指Offer - 九度1521 - 二叉树的镜像2013-11-30 23:32 题目描述: 输入一个二叉树,输出其镜像. 输入: 输入可能包含多个测试样例,输入以EOF结束.对于每个测试案例,输入 ...
- DOS程序员手册(九)
第14章参考手册概述 本书余下的章节将向读者们介绍BIOS.DOS各种各样API函数和服务,作为一名程 序员,了解和掌握这些知识是很有好处的.在所介绍的参考手册中,每部手册都汇集了大 量的资源 ...
- CSS系列(5)-如何使用Firebug查看网页的html和css
Firebug是火狐浏览器Firefox的一个插件,专门为开发人员开发的.使用Firebug需要先在Firefox中安装这个插件,网上有很多教程,可以对照着安装一下. 不同的火狐浏览器版本中的Fire ...