有时候会遇到需要更换代码托管平台,从github,gitlab或者Bitbucket迁移到其它平台,过程中可能遇到不少问题,本文从是否保留历史提交记录两种需求出发,介绍一下基于git托管平台的迁移方法。
一、要求保留所有的提交记录的迁移方法
1、从旧的托管仓库中克隆一个裸版本库。
git clone –bare git://github.com/yourname/src_project.git
--bare:克隆一个裸版本库。
裸版本库的名字一般用原来的仓库名加上.git后缀,它不包含工作区,直接就是版本库的内容,包含的文件如下图所示,和正常版本库中.git文件夹的内容差不多。
2、到新的Git服务器上创建一个新项目,比如华为软件开发云配置管理服务。
新仓库地址:
git@codehub-cn-northeast-1.devcloud.hwclouds.com:f9c39cc7617a4caf9cb03d6bc8c3ac8a/dst_project.git
3、将本地裸版本以镜像的方式推送到华为软件开发云仓库中。
git push –mirrorgit@codehub-cn-northeast-1.devcloud.hwclouds.com:f9c39cc7617a4caf9cb03d6bc8c3ac8a/dst_project.git
--mirror指定refs/下的所有文件镜像的推送到远程仓库,而不是命名每个ref一一推送。本地更新的refs将被强制更新到远端仓库,本地删除的refs也将强制从远端仓库删除。
因为本地和远端仓库是两个不同的origin,所以如果不选择镜像推送,会产生如下错误:
提示:华为软件开发云默认对master分支开启分支保护,因此推送之前要解除分支保护。
4、删除本地裸版本仓库,src_project.git文件夹。
5、从新的托管服务器上克隆一份代码到本地。
git clonegit@codehub-cn-northeast-1.devcloud.hwclouds.com:f9c39cc7617a4caf9cb03d6bc8c3ac8a/dst_project.git
二、无需保留提交记录的迁移方法
1、从旧的托管仓库中下载一套代码。仅仅是代码,没有git版本管理相关内容。
2、到新的Git服务器上创建一个新项目。
新仓库地址:
git@codehub-cn-northeast-1.devcloud.hwclouds.com:f9c39cc7617a4caf9cb03d6bc8c3ac8a/dst_project.git
3、git init #在本地代码根目录文件夹下初始化仓库
4、git remote add origingit@codehub-cn-northeast-1.devcloud.hwclouds.com:f9c39cc7617a4caf9cb03d6bc8c3ac8a/dst_project.git
5、git pull origin master –rebase #从新托管仓库上拉去已存在的内容
6、git add .
7、git commit
8、git push --set-upstream origin master #关联上游托管仓库并推送旧代码
相关推荐
Git代码托管管理工具安装包 Git代码托管管理工具安装包 Git代码托管管理工具安装包 Git代码托管管理工具安装包 Git代码托管管理工具安装包 Git代码托管管理工具安装包 Git代码托管管理工具安装包 Git代码托管管理...
这就是可视化Git托管工具的用武之地。 可视化Git托管工具提供了图形用户界面(GUI),使得Git的操作变得更加直观和易用。这些工具通常包括创建分支、合并分支、查看提交历史、解决冲突、推送和拉取代码等功能,并且...
Gitblit 1.9.3作为一款轻量级的Git托管解决方案,以其简洁的界面和易用性受到用户欢迎。对于那些希望在本地或私有云环境中托管Git仓库的团队,Gitblit是一个值得考虑的选择。了解并充分利用其特性,将有助于提高开发...
开发者碰到同一代码托管平台 来自多个账号的 sshkey 加入开发这 分别加入了 三个 gitee 不同团队的项目 这个时候我们需要配置多个key在 Administrator(当前用户名)/.ssh/ 目录下 需要创建 config文件,git在这里有个...
gs是一款极易搭建的自助 Git 服务,具有易安装,跨平台,轻量级的特点。可以根据操作系统平台通过 二进制运行,还可以通过 Docker 或 Vagrant,以及包管理安装,任何 Go 语言 支持的平台都...Centos8 安装 Gogs托管服务
本文将详细讲解如何在Git平台上更换你的个人头像,让你的代码库和提交信息更具个性化。 首先,你需要拥有一个Git账号。如果你还没有,可以访问Git官方托管平台GitHub(https://github.com)进行注册。注册过程简单...
Gogs 是一款极易搭建的自助 Git 托管服务。Gogs项目旨在打造一个以最简便的方式搭建简单、稳定和可扩展的自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 所有平台,...
Gogs是一款基于Go语言开发的简易Git托管服务与源码管理平台,项目结构包含2053个文件,涵盖Go、JavaScript、HTML、CSS、Shell等多种编程语言。其中,Go源代码文件255个,JavaScript文件171个,模板文件145个,HTML...
1 起步 1 1 关于版本控制 1 2 Git 简史 1 3 Git 基础 1 4 安装 Git 1 5 初次运行 Git 前的配置 ...4 10 Git 托管服务 4 11 小结 5 分布式 Git 6 Git 工具 7 自定义 Git 8 Git 与其他系统 9 Git 内部原理
Git-2.24.0.2-64-bit.exe 国外站点下载异常慢,上传一个,节约你宝贵的时间。 介绍 这些发行说明描述了特定于Windows的Git版本的问题。可以在Git项目中找到涵盖...Windows的Git托管在https://gitforwindows.org/上。
安装完成后,通过`ssh-keygen`命令生成公钥和私钥,将公钥上传到GitHub或其他Git托管平台。 7. **设置用户信息**:首次使用Git时,需要设置用户名和电子邮件,因为这些信息会被记录在每次提交中,用于识别作者。 8...
使用eclipse或git命令行将项目托管到github
Git是分布式版本控制系统,GITHUB是全球最大的开源代码托管平台,而Git Server则是用于搭建本地或私有Git仓库的服务端程序。这三者构成了开发者进行版本控制和协作开发的核心工具链。下面,我们将深入探讨这些知识点...
6. 社区支持:Git有庞大的社区支持,提供了丰富的命令行工具和图形界面工具,如SourceTree、GitKraken等,以及GitHub、GitLab和Bitbucket等在线托管平台。 对于压缩包式安装Git,通常包含以下步骤: 1. 下载压缩包...
此外,学习使用GitHub或GitLab等在线托管平台,可以进一步提高团队协作的效率。 总之,Git-1.9.0作为Git的重要版本,为开发者提供了更高效、更人性化的版本控制体验,是软件开发中不可或缺的工具。通过深入学习和...
GitHub是Git的主要托管平台,它不仅提供了代码存储库服务,还具有项目管理、问题追踪、文档共享等功能。通过GitHub,开发者可以公开或私有地分享他们的代码,与其他开发者合作,并参与到开源项目中。虽然这个离线...
Git的托管服务,如GitHub、GitLab、码云等,提供了在线协作、代码审查、问题追踪等功能,便于团队管理和分享项目。注册账号后,可以在云端创建远程仓库,配置SSH密钥实现安全连接。通过`git remote add`添加远程仓库...
通过以上步骤,你就成功地在本地Windows系统上建立了Gitlib服务器,为苹果开发团队提供了便捷的Git托管环境。团队成员可以克隆、推送代码,以及进行各种协作操作,而无需依赖外部的Git服务。记得定期更新Gitlib和...
Gitblit是一款开源的、轻量级的...在实际操作中,根据你的需求进行配置和调整,Gitblit将成为一个强大且易用的Git托管平台。对于更多详细的配置和操作指南,可以参考官方文档或社区资源,如链接中提到的CSDN博客文章。
服务端的Gitblit则是一个轻量级的Git服务器,它可以方便地托管Git仓库,提供Web界面供用户浏览、管理和克隆仓库。 Gitblit是用Java编写的一个开源项目,设计简洁,易于配置和部署。它支持SSL加密,可以设置权限控制...