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

将svn repo添加到现有的git repo中?

将 Subversion (SVN) 仓库添加到现有的 Git 仓库中的方法如下:

  1. 首先,确保已经安装了 Git 和 Subversion 命令行工具。如果没有,请分别安装 Git 和 Subversion。
  2. 使用 git svn clone 命令将 SVN 仓库克隆到一个新的 Git 仓库中。例如:
代码语言:txt
复制
git svn clone http://example.com/path/to/svn/repo --stdlayout

这将创建一个新的 Git 仓库,并将 SVN 仓库的所有内容克隆到该仓库中。

  1. 将新创建的 Git 仓库添加为远程仓库。例如:
代码语言:txt
复制
cd existing_git_repo
git remote add svn_repo /path/to/svn/git/repo
  1. 拉取 SVN 仓库的所有更改并将其合并到现有的 Git 仓库中。例如:
代码语言:txt
复制
git fetch svn_repo
git merge svn_repo/master --allow-unrelated-histories
  1. 解决可能出现的合并冲突,并将更改提交到现有的 Git 仓库中。例如:
代码语言:txt
复制
git add conflicted_file
git commit -m "Merge SVN repository"

现在,SVN 仓库已经成功添加到现有的 Git 仓库中。

需要注意的是,由于 Git 和 SVN 的历史记录和版本控制方式不同,因此在合并过程中可能会遇到一些问题。因此,在进行此操作之前,请确保备份现有的 Git 仓库,以防万一出现问题。

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

相关·内容

BFG Repo-Cleaner - 快速清除Git提交历史的特定文件

检查存储库以确保您的历史记录已更新,然后使用标准的git gc命令去除不需要的脏数据, git现在这些脏数据视为多余的需求: $ cd some-big-repo.git $ git reflog expire...--mirror标志,所以此推送更新远程服务器上的所有引用): $ git push 此时,您已经准备好让每个人都抛弃旧的repo副本,重新克隆新的原始数据。...strip-blobs-bigger-than 50M my-repo.git 文件*(前缀行'regex:'或'glob:'如果需要)*列出的所有密码替换为' *** remove *** ',...无论它们在您的存储库的任何地方: $ bfg --replace-text passwords.txt my-repo.git 删除Git中所有名为'.git'的文件夹或文件—保留的文件名。...请注意,尽管这些受保护的提交的文件不会被更改,但是当这些提交从早期的脏提交继续进行时,它们的提交ids 更改,以反映更改的历史—只有文件系统树的SHA-1 id 保持不变。 更快...

2.8K40

设置Git--在Git设置您的用户名--创建一个回购--Fork A Repo--社会化

设置Git GitHub的核心是名为Git的开源版本控制系统(VCS)。Git负责计算机上本地发生的所有GitHub相关的事情。 要在命令上使用Git,您需要在计算机上下载,安装和配置Git。...设置Git:下载并安装最新版本的Git,下载网址:https://git-scm.com/downloads 在Git设置您的用户名 Git使用用户名将提交与身份相关联。...在您的计算机在设置您的Git用户名:$ git config –global user.name“ #用户名#” 设置电子邮件地址:$ git config –global user.email“ email...它们对于GitHub上的任何用户都可见,因此您可以从协作社区受益。 私有存储库需要更多的设置。它们只适用于您,存储库所有者以及您选择与之共享的任何协作者。私人存储库仅适用于付费帐户。...Fork A Repo 创建叉子正在生成别人项目的个人副本。叉子作为原始存储库和您的个人副本之间的桥梁。您可以提交拉动请求,以便通过更改提交到原始项目来帮助其他人的项目更好。

79720

Git

Git把内容按元数据方式存储,而SVN是按文件。 Git分支和SVN分支不同。 Git没有一个全局的版本号,而SVN有。 Git的内容完整性要优于SVN。...git clone 3、添加到暂存区 git add 修改过的文件添加到暂存区,使用git add .或git add -A所有更改的文件添加到暂存区。...查看工作区的状态使用git status命令,查看未添加的文件。 查看暂存区的文件使用git ls-files命令。...git-repo 删除远程仓库:git remote rm origin 列出所有的远程仓库:git remote -v 然后就可以推送到远程仓库了,其中origin是远程仓库,master是分支: 推送到远程仓库并建立追踪关系...:git push -u origin master 推送到远程仓库:git push origin master 6、分支 分支绝对是Git的核心概念。

40230

如何使用python代码操作git代码

GitSVN 区别点: 1、Git 是分布式的,SVN 不是:这是 Git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别。...2、Git 把内容按元数据方式存储,而 SVN 是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里。...3、Git 分支和 SVN 的分支不同:分支在 SVN 中一点都不特别,其实它就是版本库的另外一个目录。...Repo(local_path) # 所有提交记录结果格式成json格式字符串 方便后续反序列化操作 commit_log = repo.git.log('--pretty={"commit":"%h...) with open(os.path.join('NB.tar'), 'wb') as fp: repo.archive(fp) 将上述所有的方法封装到类以便后续的调用(后续如果你想要操作git直接拷贝使用即可

96330

SVN 切换到 Git

最近在公司的项目从 SVN 迁移到 git,踩了不少坑,所以来记录下: 因为迁移的快慢和整个仓库的大小,电脑配置有关,所以我先说下这边的情况 仓库: 仓库大概是 3.5G 左右,包含了 14500 +...生成作者文件: 因为我们知道,在 SVN 上提交和在 Git 上提交对应提交者的信息展示是不同的,SVN 只会保存一个用户名,而 Git 会保存该用户的邮箱,所以我们迁移的第一步就要生成一个映射文件,...git svn clone --stdlayout --authors-file=authors.txt / 非标准的的SVN文件布局:.../ 部分转换: 如果仓库非常庞大的话可以选择部分转换,也就只转换指定提交之后的提交,可以试用如下代码 git svn clone -r123456...但是当你把大文件添加到 LFS 后再次推送还是会爆出同样的错误,而且还是同样的文件,也就是说你根本没添加成功,其实并不是这样的,在添加 LFS 只要你操作没错,就是添加成功了,他还会报错的原因是因为虽然你工程的大文件已经添加

93710

SVN切换到Git方法及坑点

1.jpg 最近在公司的项目从SVN迁移到git,踩了不少坑,所以来记录下: 因为迁移的快慢和整个仓库的大小,电脑配置有关,所以我先说下这边的情况 仓库: 仓库大概是3.5G左右,包含了14500+的提交次数...上提交和在Git上提交对应提交者的信息展示是不同的,SVN只会保存一个用户名,而Git会保存该用户的邮箱,所以我们迁移的第一步就要生成一个映射文件,SVN上的用户名和其邮箱对应起来,就比如 molier...–stdlayout,使用如下命令 git svn clone --stdlayout --authors-file=authors.txt / / 部分转换 如果仓库非常庞大的话可以选择部分转换,也就只转换指定提交之后的提交,可以试用如下代码 git svn clone -r123456...但是当你把大文件添加到LFS后再次推送还是会爆出同样的错误,而且还是同样的文件,也就是说你根本没添加成功,其实并不是这样的,在添加LFS只要你操作没错,就是添加成功了,他还会报错的原因是因为虽然你工程的大文件已经添加

2.8K61

Spring Cloud配置中心获取不到最新配置信息的问题

其实该问题在Spring Cloud的官方文档也有对应的说明,原文如下: With VCS based backends (git, svn) files are checked out or cloned...根据上面的内容,我们可以知道在某些系统,对于 /tmp目录进行周期性的清理,所以也就有了上面所说的问题。...从文档我们也已经知道如果去解决该问题,无非就是通过 spring.cloud.config.server.git.basedir 或 spring.cloud.config.server.svn.basedir...比如,我们可以设置: spring.cloud.config.server.git.basedir=config-repo 其他问题 这里需要注意一下,该参数的设置依然有一定的问题。...但是,如果我们这样设置,就可以配置的缓存内容存储在配置中心所在目录下的config-repo目录中了: spring.cloud.config.server.git.basedir=config-repo

947100

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

2、Git 把内容按元数据方式存储,而 SVN 是按文件: 所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里。...3、Git 分支和 SVN 的分支不同: 分支在 SVN 中一点都不特别,其实它就是版本库的另外一个目录。...或者 git checkout -- 命令时,会用暂存区全部或指定的文件替换工作区的文件。这个操作很危险,会清除工作区添加到暂存区的改动。当执行 git checkout HEAD ....-m '初始化项目版本'复制代码以上命令目录下以 .c 结尾及 README 文件提交到仓库。...克隆仓库的命令格式为:git clone 复制代码如果我们需要克隆到指定的目录,可以使用以下命令格式:git clone 复制代码参数说明:repo: Git

67330

Ubantu16.04进行Android 8.0源码编译的流程

git clone https://gerrit-googlesource.lug.ustc.edu.cn/git-repo 2.git-repo里面的repo文件复制到~/bin目录 3.在~/...source目录新建.repo文件夹,把git-repo重命名为repo复制到.repo目录下 4.~/bin/repo 添加到环境变量,并赋予权限 //赋予权限 chmod a+x ~/bin/repo...//添加到环境变量 export REPO=~/bin 添加到~/.bash_profile ///让配置文件生效 source ~/.bash_profile 下载源码 初始化仓库 cd到~/source...如果执行该命令的过程,如果提示无法连接到 gerrit.googlesource.com,那么我们只需要编辑 ~/bin/repo文件,找到REPO_URL这一行,然后将其内容修改为: REPO_URL...init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-4.0.1_r1 (AOSP项目当前所有的分支列表参看

75120

SVN 迁移到 Git

SVN 迁移到 Git 准备工作 确认所有用户的本地修改都签入到服务器, SVN 源代码的分支尽可能的合并到主干, 已经发布的做好归档信息, 并备份 SVN 库。...将用户映射到 Git 创建一个用户映射文件, SVN 用户映射到 Git 用户, 这样可以保留用户的签入历史信息, 比如用户输入的修改记录等, 这个文件看起来是这样子的: svnuser1 = gituser1...克隆 SVN 库 假设 svn 库的布局是标准的 trunk 、 branches 以及 tags , 运行下面的命令开始克隆 svn 库: git svn clone -...转换分支及归档 克隆完成之后, 所有的 svn 归档在 git 看来都是远程分支 (remote tags) , 不是真正的 git 归档, 需要将他们手工转换为 git 归档, 然后再删除远程分支,...对于每一个分支或归档, 做如下操作(以 v1.0.1 归档为例): git tag v1.0.1 tags/v1.0.1 git branch -r -d tags/v1.0.1 所有的归档信息处理完成之后

80240
领券