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

 

时间: 2024-10-26 15:42:54

git代码仓库迁移(从github到oschina)【转】的相关文章

DBeaver 代码现已迁移到 GitHub

DBeaver 是个很受欢迎的数据库管理工具,一直在非常积极的维护.现在,DBeaver 代码迁移到 GitHub: https://github.com/serge-rider/dbeaver DBeaver 开发者将会写一些构建过程和文档,帮助大家更好的使用 DBeaver,但是还没确定如何更好的管理 bug 报告和特性请求.如果大家有想法可以给他们提 issue . DBeaver 下载:http://dbeaver.jkiss.org/download/ 详情请看这里. DBeaver

不要把配置文件放到你的 Git 代码仓库

我总是惊讶地发现在一些私有的 git 仓库中缺乏管理.查看一个 git 仓库与之达成新的约定是我最恐惧的时刻之一.诚然,git 仓库中包含的文件应该是有个范围的.这可以优化开发和部署. 提交附加文件可显著提高下载(克隆一个仓库时)的时间,避开提交这些文件还有很多理由.非技术的发起人,可以使用这个原则作为指导,以确保你的团队是在聪明地提交代码. 编译后生成的文件/二进制文件 不要在一个 git 资源库中将你编译后生成的文件或者二进制文件包含进去!二进制文件 (或者可执行文件) 几乎总是将和操作系统

wghd的git代码仓库分支管理说明【转】

    英文原文:http://www.nvie.com/posts/a-successful-git-branching-model/ 原文作者:Vincent Driessen 本文经Linux大棚博主总结精简而成. 1     GIT,在技术层面上,绝对是一个无中心的分布式版本控制系统,但在管理层面上,我建议你保持一个中心版本库.   2 我建议,一个中心版本库(我们叫它origin)至少包括两个分支,即"主分支(master)"和"开发分支(develop)"

Git 创建仓库【转】

转自:http://www.runoob.com/git/git-create-repository.html Git 创建仓库 本章节我们将为大家介绍如何创建一个 Git 仓库. 你可以使用一个已经存在的目录作为Git仓库. git init Git 使用 git init 命令来初始化一个 Git 仓库,Git 的很多命令都需要在 Git 的仓库中运行,所以 git init 是使用 Git 的第一个命令. 在执行完成 git init 命令后,Git 仓库会生成一个 .git 目录,该目录

真正的持续集成:分布式代码仓库和依赖

微服务架构为软件开发带来了极大的灵活性,并加快了交付速度,但同时也带来了依赖管理问题.传统的解决方案虽然能够解决依赖管理问题,但都太极端,顾此失彼.于是,Netflix尝试着寻找自己的解决方案,期待着在整个组织层面做到真正的持续集成.本文内容来自Netflix技术博客,已获得翻译授权,查看英文原文 Towards true continuous integration:distributed repositories and dependencies. 在过去的8年间,Netflix基于AWS构

git使用教程1-本地代码上传到github

前言 不会使用github都不好意思说自己是码农,github作为一个开源的代码仓库管理平台,我们可以把自己的代码放到github上,分享给小伙伴,自己也能随时随地同步更新代码. 问题来了:为什么越来越多的小伙伴喜欢开源?答:因为我们可以免费下载到大神的源码啊!   一,注册Github账号 1.先注册一个账号,注册地址:https://github.com/ 2.登录后,开始你的旅程 3.创建一个repository name,输入框随便取一个名字(不要用中文!!!) 4.点Create re

程序员必须知道的几个Git代码托管平台

一.VS2013中克隆远程Git仓库和SSH的配置 1.VS2013中克隆远程项目 首先感谢园友的评论和补充,今日又仔细看了一下,VS2013中是可以克隆项目的,只是我一直用的GitHub来克隆的,所以没有注意到.我们打开VS2013,切换到团队资源管理器,如图: 点击连接到团队项目-,会看到如下图界面: 点击克隆,输入远程Git地址,然后点击克隆按钮,就会将远程仓库的项目克隆到本地,路径为下面文本框中的地址,我们也可以点击后面的-按钮进行修改或者手动输入. 2.SSH的配置 如果安装了Gith

程序员必须知道的几个Git代码托管平台(转)

  上一篇博客中2015继续任性--不会Git命令,照样玩转Git我们简单的介绍了在VS2013中使用Git,和GitHub客户端的使用.那么使用Git到底有什么好处呢?最为明显的是支持Git代码托管的平台比较多,而且都是免费的.今天就为大家推荐几款比较火的Git代码托管平台,欢迎大家补充.不过,这里首先来对上一篇的问题进行一些说明.如果大家还有喜欢用SVN的,请参考淘宝code-- 最给力的国内免费SVN(不限语言),异地团队开发.打造个人开源项目不再是梦这篇文章.    一.VS2013中克

12 款各种编程语言实现的 Git 代码托管系统

尽管 SVN 在企业中还是占据着主导的位置,但在互联网世界的版本控制系统中,Git 一枝独秀,而且 Git 的整个社区非常之活跃,各种围绕着 Git 的代码托管平台.各类 Git 的开源托管系统和工具等等琳琅满目.层出不穷. 本文向你介绍用各种不同编程语言开发的 12 个 Git 代码托管系统,总有一款能满足你的需求.实在不愿意自己安装,你还可以将代码托管到 git.oschina.net 上,我们来为你提供各种服务的保证,关键是 -- 连私有库也全免费,数量也没限制!(不差钱) 废话少说,走你