添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
至今单身的茄子  ·  mysql remove unique ...·  2 年前    · 

一、SVN项目迁移到GIT并保留commit记录

1. 编辑userinfo.txt

格式为svn_username=git_username,提交记录里出现的所有svn_user都要有对应git_user

svn用户 = GitLab用户<GitLab用户邮箱>

svn_user1 = git_user1 <git_user1@xxx.com>
svn_user2 = git_user2 <git_user2@xxx.com>

2. 从svn拉取代码

配置git信息:

git config --global user.name "YOUR_USERNAME"
git config --global user.email "YOUR_EMAIL"

查看配置:

git config --list

拉取代码(项目越大,花费时间越多):

git svn clone -r 282506:HEAD svn_url --no-metadata -A userinfo_path local_path
  • -r 282506:HEAD 代表从svn的282506版本到最新版本的提交记录,避免从第一个版本拉取数据量过大,操作耗时高。 如果需要拉取所有记录,可去除 -r 282506:HEAD
  • svn_url 你的svn项目地址
  • –no-metadata 防止git拉取无用的SVN附加信息
  • local_path 为git clone下来的svn目录,会自动新建
  • -A userinfo_path 你的userinfo.txt路径

3. 提交代码到git

a. 使用http传输:项目总大小不大于50M

cd localpath
git remote add origin https://gitee.com/xxx/xxx.git

查看关联情况:

git remote -v

如果关联有误,可以删除关联:

git remote rm origin

b. 使用ssh传输:项目总大小大于50M

生成公钥:

ssh-keygen –t rsa –C "YOUR_EMAIL"
cat ~/.ssh/id_rsa.pub

将生成的公钥,复制到你的gitee/gitlab ssh公钥设置

测试是否能用ssh登录git:

ssh -T git@gitee.com

提交代码:

git remote set-url origin git@gitee.com:xxxx/xxx.git

4. push代码到远端

git push -u origin master

5.操作实例

git config --global user.name "zhanghan"
git config --global user.email "zhanghan@gdyd.com"
git svn clone --no-metadata -A userinfo.txt https://10.66.0.1/eip-ng/branches/eip-docx docx
cd docx
ssh-keygen –t rsa –C "zhanghan@gdyd.com"
cat ~/.ssh/id_rsa.pub
在gitee官网添加ssh公钥
git remote set-url origin git@gitee.com:gdydit_eip/docx.git
git push -u origin master

二、获取Git提交计数

获取Git存储库的提交次数,有点像SVN版本号,
目标是将其用作唯一的,递增的内部版本号。

git log --pretty=format:'' | wc -l
要获取所有分支的提交计数:
git rev-list --all --count
要获取修订的提交计数(HEAD,,master提交哈希):
git rev-list --count <revision>
返回按提交者分组的提交计数:
git shortlog -s
14 John lennon
9  Janis Joplin

三、参考文献

SVN项目迁移到GIT并保留commit记录
如何获取Git提交计数

文章目录一、SVN项目迁移到GIT并保留commit记录1. 编辑userinfo.txt2. 从svn拉取代码3. 提交代码到gita. 使用http传输:项目总大小不大于50Mb. 使用ssh传输:项目总大小大于50M4. push代码到远端5.操作实例二、获取Git提交计数三、参考文献一、SVN项目迁移到GIT并保留commit记录1. 编辑userinfo.txt格式为svn_username=git_username,提交记录里出现的所有svn_user都要有对应git_usersvn_ svn作为一个优秀源码版本的管理工具,可以适合绝大多数项目。但是因为它的采用中心化管理,不可避免的存在本地代码的备份和版本管理问题。也就是说对于尚未或暂无法提交到Subversion服务器的本地代码来说,存在着被误删除和版本更新无法回退两大情形。 git作为一个分布式版本管理工具,可以很好的解决这个问题。因为它的大多数操作是在本地进行的。这里要说的是git是如何做到既可以管理好本 迁移过程 1、获取svn提交用户名 因为在git上每个提交需要有用户的提交信息,如邮箱,因此我们得先获取到所有的用户名,然后生成如下对应的git格式,用于稍后的git clone上。 Jordan = Jordan &amp;lt;Jordan@gmail.com&amp;gt; Kobe = Kobe...
文章目录前言一、迁移准备二、迁移过程1.从SVN获取项目提交用户名单2.使用git svn clone拉取SVN项目到本地3.使用git remote添加git服务器地址4.提交代码到git库5. 后续同步SVN代码到GitLab中 公司之前是用的SVN来管理项目,但根据项目增多项目就有了分支等需求,使用SVN来管理已经满足不了项目管理的需求了,决定将SVN上的项目转移到GitLab上。 一、迁移准备 准备一台Linux系统,安装git-svn yum install -y git-svn 随着项目越来越大,原有SVN已经很难支撑现有工程(集中式管理,服务器压力大,分支主干切换麻烦)。所以,决定将SVN切换成Git(分布式开发,快照式数据,速度快,主干分支切换方便)。现将SVN项目迁移Git过程分享出来,希望能够对大家在操作迁移时提供帮助。 1.git安装(此处不做说明) 2.git账号配置 任意磁盘目...
gitlab新建与svn上同名的项目,并初始化master分支 使用tortoisegit,URL为要迁移svn地址。如果该项目是按照trunk、tags、branch的格式形成的目录,就可以勾选下面的trunk等 如果svn的目录结构不是标准的truck,branch,tags,如下图所示勾选 在检出的svn本地副本中执行 git sync 点击“Remote branch”旁边的选...
SVN代码同步至GIT 近年随着信息工程量的多元化发展,GIT主键取代SVN成为主流的版本管理工具,部门的项目代码也决定迁移git进行管理,所以就调研了一下具体的实现方案,要求可以同步提交记录,便于历史追溯。 个人SVN的用户名和密码(同步时需要输入) 涉及到项目SVN提交记录对应的SVN账号信息(可参考userinfo.txt文件,增量补充即可),左侧是SVN的账号,右侧是git账号信息,用=号连接,如下图: 注意:需要将涉及到的同步记录中的用户都做映射,否则在同步时可能会报错
如果你只想拉取 Trunk 分支的提交记录的话。 我们以项目 https://sourceforge.net/p/docutils/code/HEAD/tree/trunk/docutils/ 为示例 我们希望将上面项目的所有 Trunk 的提交记录变成 Git 的仓库。 你可用运行命令: git svn clone https://svn.code.sf.net/p/docutils/code/trunk docutils 进行拉取就可以了。 请注意,如果你的提交记录非常多的话,有可能会拉
最近公司要将SVN服务迁移,前段时间刚把SVN服务从windows服务器迁移到Linux。 现在项目越来越多,加之SVN的集中式管理,不支持分布式,分支切换麻烦,Git支持分布式开发,快照式数据,速度快,主干分支切换方便。给领导建议了一下把仓库迁移git,领导的要求就是可以迁移,但是不能丢提交记录。经过自己的研究尝试,最终把SVN仓库成功迁移git,下面将迁移过程分享出来。 一.软件安装及...
首先,需要确保在本地机器上已经安装并配置好了svngit。安装和配置过程可以参考官方文档或者相关的教程。 其次,需要在本地机器上创建一个脚本来实现自动同步功能。可以使用任何你熟悉的脚本语言,比如Shell脚本、Python脚本等。 在脚本中,首先需要设置svngit的相关路径信息,例如svn的代码仓库路径和git的代码仓库路径。然后,可以使用svn命令来获取最新的代码提交记录,通过解析这些记录找到最新的提交的修改文件和对应的修改类型。 接着,可以使用git命令来将这些修改同步到git仓库中。可以使用git命令中的add将修改的文件添加到暂存区,然后使用commit命令提交git仓库。如果需要将这些修改推送到远程的git仓库,还可以使用git命令中的push来实现。 最后,可以将这个脚本设置为定时任务,例如每隔一段时间运行一次,或者在svn提交后触发运行等。这样,每次svn提交后,脚本就会自动运行,同步到git仓库中。 需要注意的是,在脚本运行的过程中,可能会遇到一些冲突,例如svngit代码仓库中的文件名、路径的不一致等。在这种情况下,可能需要手动解决这些冲突,然后再进行同步操作。 总之,通过创建并配置一个自动同步的脚本,可以方便地实现svn提交后的自动同步到git的功能。这样可以提高团队协作效率,并且保持svngit代码仓库的同步。 启动AndroidStudio报错Missing essential plugin:org.jetbrains.android Please reinstall Android Studio... 今天又出现这个问题了,但是删除之后,app能打开,里面的项目打不开了, 然后关闭app,重来一遍,就又上面这样了 启动AndroidStudio报错Missing essential plugin:org.jetbrains.android Please reinstall Android Studio... 华为HMS Scankit 扫码SDK集成-实现扫一扫功能 fenglolo: 初始化少配置了可能,看下按照步骤都配好了么