首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

将最后n个提交从svn移动到git repo

是一个常见的迁移任务,可以通过以下步骤完成:

  1. 首先,创建一个新的git repo,可以使用命令行或者git平台提供的图形界面工具进行创建。
  2. 在本地克隆git repo到本地机器上,使用命令行工具执行以下命令:git clone <git repo URL>
  3. 进入克隆的git repo目录,执行以下命令切换到svn的工作目录:cd <git repo directory> svn co <svn repo URL>
  4. 切换到svn工作目录后,可以使用以下命令查看svn的提交历史:svn log
  5. 根据需要移动的提交数量n,确定需要移动的提交范围。可以使用以下命令查看最近n个提交的详细信息:svn log -n <n>
  6. 确定需要移动的提交范围后,使用以下命令将这些提交导出为patch文件:svn diff -r <start revision>:<end revision> > <patch file>
  7. 将生成的patch文件复制到git repo目录下,并使用以下命令应用patch文件:git apply <patch file>
  8. 执行以下命令将变更提交到git repo:git add . git commit -m "Move last n commits from svn to git"
  9. 最后,将本地的git repo推送到远程git repo:git push origin master

这样,最后n个提交就成功地从svn移动到了git repo中。

对于这个任务,腾讯云提供了一系列与git相关的产品和服务,例如:

  1. 腾讯云代码托管(CodeCommit):提供安全、稳定的云端代码托管服务,支持Git版本控制系统。详情请参考:腾讯云代码托管
  2. 腾讯云DevOps:提供全生命周期的应用交付解决方案,包括代码托管、持续集成、持续交付等。详情请参考:腾讯云DevOps

请注意,以上只是腾讯云提供的一些相关产品和服务,其他云计算品牌商也提供类似的解决方案。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

SVN或者GIT远程双向同步

SVN或者GIT远程双向同步 作者:matrix 被围观: 539 次 发布时间:2021-09-03 分类:零零星星 | 一条评论 » 现在我需要svn或者git的提交同步到其他远程仓库(...这里的同步最小单位为单次的提交commit。 配合之前的「使用git-svn管理svn仓库」可以完美解决这个问题,利用git来中转管理我们手上的仓库代码。...场景: 有多个相同代码的SVN仓库,我不想全部迁移到git。然而每次修改一个功能的代码就必须手动复制到其他的远程svn/git仓库上,代码相似但又不能直接替换。。。...将commit提交合并到新分支 commit_id是需要同步到其他远程分支的commit id。 $ git cherry-pick {commit_id} 6....echo -e "\n" done done 说明: 如果自动合并有冲突会操作会失败,需要手动修改再提交&推送。

1.8K30

聊聊如何从 SVN 迁移源码到 Git 仓库

准备工作 迁移SVN源码到Git仓库的方法肯定不是暴力地将代码Copy再Paste到Git仓库,也不是直接在项目下git init初始化仓库的,而是应该使用git svn命令操作实现迁移工作。...大仓库的转换策略 特别注意的是,当SVN仓库非常非常大时,据官方统计数据,若转换拥有33000个提交的400MB大小的仓库需要花12个小时来完成转换。...--force 将SVN分支和标签转换Git的本地分支和标签后结构如下图所示: ?...这里会以一个Gradle构建的Java项目(IDE使用IntelliJ)为例介绍从SVN迁移到Git后的收尾工作: 查看Git远程地址是否已经配置了,如果还没有配置,可以使用命令git remote命令配置...配置: idea.project.vcs = "Git" 最后上传到Repo,并根据团队内部的约定设置相应的权限,通常会有一个检查清单,比如: 设置分支模型 添加分支权限 限定PR合并权限 配置SVN提交通知

2.6K10
  • SVN 切换到 Git

    最近在将公司的项目从 SVN 迁移到 git,踩了不少坑,所以来记录下: 因为迁移的快慢和整个仓库的大小,电脑配置有关,所以我先说下这边的情况 仓库: 仓库大概是 3.5G 左右,包含了 14500 +...生成作者文件: 因为我们知道,在 SVN 上提交和在 Git 上提交对应提交者的信息展示是不同的,SVN 只会保存一个用户名,而 Git 会保存该用户的邮箱,所以我们迁移的第一步就要生成一个映射文件,将...svn-repo>/ 部分转换: 如果仓库非常庞大的话可以选择部分转换,也就只转换指定提交之后的提交,可以试用如下代码 git svn clone -r123456...,不过如果你选择部分转换的话也可能很快,假如你一共 15000 个提交,然后你从 14999 来转换可能几分钟就够了。...-n -k 4 | tail -n 10 //查找git 仓库中排名前十的大文件(升序) 他会输出前十个最大的文件,然后你再按需处理。

    96910

    Git

    git版本控制工具 Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或大或小的项目。 Git与另一个版本控制系统有如下区别: Git是分布式的,SVN不是。...Git把内容按元数据方式存储,而SVN是按文件。 Git分支和SVN分支不同。 Git没有一个全局的版本号,而SVN有。 Git的内容完整性要优于SVN。...初始化仓库; 现在就处于工作区,可以在项目中进行修改; 然后将更改提交到暂存区; 将更改从暂存区提交到本地仓库(版本库); 再将代码推到远程仓库。...多人合作的话,每个人创建分支,在自己的分支上写代码,最后将分支合并。使用分支并不会影响开发主线的工作。 开发中经常使用的Git命令 1、配置Git git config 在使用Git之前。...git clone repo> 3、添加到暂存区 git add 将修改过的文件添加到暂存区,使用git add .或git add -A将所有更改的文件添加到暂存区。

    41830

    SVN切换到Git方法及坑点

    1.jpg 最近在将公司的项目从SVN迁移到git,踩了不少坑,所以来记录下: 因为迁移的快慢和整个仓库的大小,电脑配置有关,所以我先说下这边的情况 仓库: 仓库大概是3.5G左右,包含了14500+的提交次数...上提交和在Git上提交对应提交者的信息展示是不同的,SVN只会保存一个用户名,而Git会保存该用户的邮箱,所以我们迁移的第一步就要生成一个映射文件,将SVN上的用户名和其邮箱对应起来,就比如 molier...svn-repo>/ 部分转换 如果仓库非常庞大的话可以选择部分转换,也就只转换指定提交之后的提交,可以试用如下代码 git svn clone -r123456...,假如你一共15000个提交,然后你从14999来转换可能几分钟就够了。...,具体的大文件是哪个他不会告诉你,这里可以用以下命令查看 git ls-tree -r -t -l --full-name HEAD | sort -n -k 4 | tail -n 10 //查找git

    2.9K61

    Git 中文参考(六)

    这两个选项都是实验性的,将来可以删除。 有关这些常用选项的更详细说明,另请参阅 gitdiffcore [7] 。 -n> 从最顶层n>准备补丁。提交。...使用 fetch 然后 git reset 或 git rebase 关注 _ 重置 _,将本地分支移动到新树上。 -r n> --revision=n> 指定要保留的最新修订。...只需在另一个mark命令中重复使用相同的<idnum>,就可以将现有标记移动到另一个对象。 original-oid 提供原始源代码管理系统中对象的名称。...使用 fast-import 的reset命令将正常分支空间之外的虚拟分支重置为标记的基本提交,然后提交一个或多个文件修复提交,最后标记虚拟分支。...无论出于何种原因,不允许 A 和 B 之间的直接连接,但我们可以通过某种机制将数据从 A 移动到 B. ,电子邮件等)。我们希望通过在 R1 中的分支主机上进行的开发来更新 R2。

    28910

    9.2 Git 与其他系统 - 迁移到 Git

    Subversion 如果你阅读过前面关于 git svn 的章节,可以轻松地使用那些指令来 git svn clone 一个仓库,停止使用 Subversion 服务器,推送到一个新的 Git 服务器...然后,将输出重定向到你的 users.txt 文件中,这样就可以在每一个记录后面加入对应的 Git 用户数据。 你可以将此文件提供给 git svn 来帮助它更加精确地映射作者数据。...Mercurial 因为 Mercurial 与 Git 在表示版本时有着非常相似的模型,也因为 Git 拥有更加强大的灵活性,将一个仓库从 Mercurial 转换到 Git 是相当直接的,使用一个叫作...你的策略是一次访问一个快照,然后用每个目录中的内容创建提交,并且将每一个提交与前一个连接起来。...如果从其他系统导入,必须指定为一个偏移的时区。 提交信息必须指定为特殊的格式: data (size)\n(contents) 这个格式包括文本数据、将要读取数据的大小、一个换行符、最终的数据。

    2K10

    快速了解 Git 仓库

    8.git revert HEAD: 撤销最近的一个提交: git revert会创建一个反向的新提交,可以通过参数-n来告诉Git先不要提交. 9.git rm 从已跟踪文件清单中移除某个文件: 如果只是简单地从工作目录中手工删除文件...5.查看分支的最后一次提交: ? (3)Git log查看提交日志 Git 最为出色的是它的合并跟踪(merge tracing)能力。使用 git log 命令查看提交历史: ?...具体的使用如同普通的软件一样很简单,可以直接上手 (2)使用Git仓库 1.查看当前的远程库 因为不需要每次都用完整的url,所以Git为每一个remote repo的url都建立一个别名,然后用git...3.推送到远程仓库 ① 从远程仓库下载新分支与数据 如果有多个人向同一个remote repo push代码, Git会首先在你试图push的分支上运行git log,检查它的历史中是否能看到server...git rebase不会产生合并的提交,它会将本地的所有提交临时保存为补丁(patch)放在”.git/rebase”目录中,然后将当前分支更新到最新的分支尖端、最后把保存的补丁应用到分支上。 ?

    56120

    Web基础配置篇(七): Svn与Git的安装及基本使用

    说到区别,我自己的理解是: svn比较老,git比较新,svn一般在国企会用的多,互联网估计都是git了。 git在本地有个仓库,svn在本地只是文件的备份。...svn的大多数操作要和中央仓库同步,比如看历史,断网下根本看不了,git还是可以看到,因为它也是个仓库; svn提交必须和中央仓库同步提交,git可以先提交到本地仓库,需要提交到远程仓库的时候再push...虽然git提交也是在本地,但是它提交了,已经产生了提交信息,本地的改动就会记录下来。...-R g+w /var/svn/repo1查看apache用户属于的组groups apache 5....:git diff 提交差异:git commit -m "test" 查看提交记录:git log 从远程仓库中抓取与拉取:git fetch 从远程仓库中抓取与拉取并合并:git pull

    65640

    从 SVN 迁移到 Git

    从 SVN 迁移到 Git 准备工作 确认所有用户的本地修改都签入到服务器, 将 SVN 源代码的分支尽可能的合并到主干, 已经发布的做好归档信息, 并备份 SVN 库。...将用户映射到 Git 创建一个用户映射文件, 将 SVN 用户映射到 Git 用户, 这样可以保留用户的签入历史信息, 比如用户输入的修改记录等, 这个文件看起来是这样子的: svnuser1 = gituser1...克隆 SVN 库 假设 svn 库的布局是标准的 trunk 、 branches 以及 tags , 运行下面的命令开始克隆 svn 库: git svn clone svn repo url> -...提交到 Git 库 现在可以放心的将代码提交到自己的 git 服务器了, 命令如下: git remote add origin git@github.com:userid/project.git git...push origin master --tags 总的来说, 从 svn 迁移到 git 还是很容易的。

    82340

    快速了解 Git Git仓库

    HEAD: 撤销最近的一个提交: git revert会创建一个反向的新提交,可以通过参数-n来告诉Git先不要提交. 9.git rm 从已跟踪文件清单中移除某个文件: 如果只是简单地从工作目录中手工删除文件...2.切换分支: 当你切换分支的时候,Git 会用该分支的最后提交的快照替换你的工作目录的内容, 所以多个分支不需要多个目录。.../或者你也可以取消merge 4.删除分支: git branch -d (branchname) 5.查看分支的最后一次提交: git branch -v (3)Git log查看提交日志...)和本地分支一样(可以看diff、log、merge),但是Git不允许你checkout到它们 git fetch [alias]//取某一个远程repo git fetch --all//取到全部repo...3.推送到远程仓库 ① 从远程仓库下载新分支与数据 如果有多个人向同一个remote repo push代码, Git会首先在你试图push的分支上运行git log,检查它的历史中是否能看到server

    50230

    一篇就能学会使用 Subversion

    性能问题:相比于现代分布式版本控制系统(如 Git),在大规模项目中的性能略显不足。2....添加文件将文件添加到版本库:svn add filename3. 提交文件将修改提交到版本库:svn commit -m "提交说明"4. 更新文件获取最新版本:svn update5....回滚文件将文件恢复到某个历史版本:svn revert filename6. 删除文件从版本库中删除文件:svn delete filenamesvn commit -m "删除文件"7....合并分支将分支内容合并到主干:svn merge svn://server_ip/repo/branches/branch_name3....使用工作流采用明确的代码提交规范。定期同步更新,避免长时间未更新导致冲突。小步提交,每次提交尽量只包含一个功能点。通过本文的学习,相信你已经掌握了 Subversion 的核心功能和操作方法。

    15210

    简单使用Git管理项目

    Git与Svn的区别 Git与Svn都是版本管理控制软件, 相比于Svn,Git是分布式存储的, 更加安全。 Git是按照元数据方式存储,而Svn按照文件。...强制删除目录 # 注意 如果你只想从暂存区删除文件 可以添加参数`--cached` 最后, 将所有文件 从暂存区推送至 版本库 git commit -m "提交说明" # 将文件从暂存区提交至...版本库 如果你觉得这一次的操作 与上一次的操作相关,可以将本次修改推送至上一次的提交 git commit -m "提交说明" --amend 提交完成之后 如果绑定了远程仓库 可以使用 git push...Bug, 可以创建一个bugFix分支, 来修复这个bug而不影响当前分支, 在修复完毕后, 将bugFix分支合并到dev分支 我们使用以下命令来合并分支 git merge # 将指定分支...php function A () { echo 'a'; } 最后 提交你的修改, 并push到远程仓库 参考 Git三大分区的概念 阮一峰 Git 教程 ---- 版权属于

    1.3K64

    Git常用命令总结

    clone下来的repo会以url最后一个斜线后面的名称命名,创建一个文件夹,如果想要指定特定的名称,可以git clone [url] newname指定. git status ​ 查询repo...git revert HEAD: 撤销最近的一个提交. ​ git revert会创建一个反向的新提交,可以通过参数-n来告诉Git先不要提交. ​...git branch -v可以看见每一个分支的最后一次提交. ​ git branch: 列出本地所有分支,当前分支会被星号标示出. ​...),放在”.git/rebase”目录中,然后将当前分支更新到最新的分支尖端,最后把保存的补丁应用到分支上. ​...特殊符号: ^代表父提交,当一个提交有多个父提交时,可以通过在^后面跟上一个数字,表示第几个父提交:^相当于^1~n相当于连续的n个^

    57720

    什么?你还不会在GitHub上分享项目吗?

    4、Git 没有一个全局的版本号,而 SVN 有: 目前为止这是跟 SVN 相比 Git 缺少的最大的一个特征。...=test@runoob.com复制代码有时候会看到重复的变量名,那就说明它们来自不同的配置文件(比如 /etc/gitconfig 和 ~/.gitconfig),不过最终 Git 实际采用的是最后一个...-m '初始化项目版本'复制代码以上命令将目录下以 .c 结尾及 README 文件提交到仓库中。...----git clone我们使用 git clone 从现有 Git 仓库中拷贝项目(类似 svn checkout)。...克隆仓库的命令格式为:git clone repo>复制代码如果我们需要克隆到指定的目录,可以使用以下命令格式:git clone repo> 复制代码参数说明:repo: Git

    69030

    Git实战(四)| Git分支管理实操,搞定在线合并和本地合并

    类似于SVN这种集中式版本管理,三年前刚来上海工作时候,在华为驻场上班,华为用的就是SVN,印象最深的就是那个小乌龟的图标;后来到外面工作,渐渐发现用Git的非常多,慢慢学习了解发现Git这种分布式的版本管理确实很好很强大...,后面也就重点学习Git的分支管理策略了(其实SVN我现在压根就不会了,哈哈。。。)...marys-feature git push 然后,她在git gui(GitHub或GitLab等)中提交pull请求,请求将marys特性合并到master中,团队成员将自动收到通知。...git branch * gitTestBranch master 1.2) 将readme.txt文件最后一行加入如下内容并commit I am a test engineer....参考链接: git的基本使用流程 Atlassian Set up a git repository: git init creates a new repo, git clone copies an

    31150

    通用技术-SVN客户端安装及使用

    svn update # 提交更新内容 svn diff # 查看改动 svn add /path/to/file-or-dir svn commit -m "提交指定文件" # 撤销文件的本地修改...常用命令 · SVN使用教程 (svnbucket.com) Tortoise命令常用操作 Tortoise将svn的命令封装为鼠标右键菜单中, 使用起来更加简单 Checkout 目的: 用于检出仓库地址..., 相当于git的clone 用法: 进入svn_repo目录, 新建根目录(如测试), 右键选择检出, 根据提示输入仓库地址及账户密码即可 Commit 目的: 用于提交修改 用法: 对仓库内容进行操作完毕后..., 邮件commit提交修改 Update 目的: 拉取修改,相当于git的pull Repo_browser 目的: 在线查看svn文档, 适用于不常用, 体量大的svn文件夹 删除本地仓库 清楚项目根目录下的....svn隐藏文件夹即可清除svn设置, 再删除文件夹即可 revert 目的: 撤回本地操作 相当于git中的restore

    27110

    Git workflow 详谈

    中心化工作流 使用过SVN的应该都知道, SVN使用的是集中式管理流程, 如果你刚从SVN 切换到 Git , 你可以尝试使用中心化工作流的方式。...而且在使用过程中还可以看到 Git 优于 SVN 的地方: 第一,每个成员都可以在本地拥有一份完整的项目代码仓库,而不只是一个工作区的副本,任何人都可以在本地执行 add 和 commit ,而不需要考虑远端仓库是否有变更...the/repo/path.git 注意仓库地址必须是正确的, 且有权限访问才能 clone 成功。...当 A 认为自己所开发的功能已经完成, 那他将执行 git push origin master 这样的操作,将自己本地仓库所有不存在于中心仓库的提交都 push 到远端的中心仓库上。..., 需要他先执行 git pull 之类的操作, 将中心仓库上 A 的提交与 B 本地的提交进行合并才允许他并入中心仓库。

    58320
    领券