标签: git-svn

如何将包含历史记录的SVN存储库迁移到新的Git存储库?

我阅读了Git手册,常见问题解答,Git - SVN速成课程等等,他们都解释了这个和那个,但是你无处可以找到一个简单的指令:

SVN存储库: svn://myserver/path/to/svn/repos

Git存储库: git://myserver/path/to/git/repos

git-do-the-magic-svn-import-with-history \
svn://myserver/path/to/svn/repos \
git://myserver/path/to/git/repos
Run Code Online (Sandbox Code Playgroud)

我不希望它那么简单,我不指望它是一个单一的命令.但我确实希望它不要试图解释任何事情 - 只是说这个例子采取了哪些步骤.

svn git version-control git-svn

1486
推荐指数
18
解决办法
45万
查看次数

文件末尾没有换行符

在做的git diff时候会说"文件末尾没有新行".

好的,文件末尾没有换行符.有什么大不了的?

这条消息有什么意义,它试图告诉我们什么?

git git-svn

430
推荐指数
9
解决办法
19万
查看次数

使用git查看对特定文件的更改

我知道我可以使用该git diff命令来检查更改,但据我所知,它是基于目录的.这意味着它提供了当前目录中所有文件的所有更改.

如何仅检查一个特定文件中的更改?说,我已经更改了文件file_1.rb,file_2.rb...,file_N.rb但我只对文件中的更改感兴趣file_2.rb.我如何检查这些更改(在我提交之前)?

git git-svn

413
推荐指数
9
解决办法
36万
查看次数

将现有Git存储库推送到SVN

我一直在用Git完成所有工作并推送到GitHub.我对软件和网站都非常满意,我不想在此时改变我的工作方式.

我的博士生顾问要求所有学生将他们的工作保存在大学托管的SVN存储库中.我已经找到大量关于将现有SVN存储库下载到Git中的文档和教程,但没有关于将Git存储库推送到新的SVN存储库.我希望必须有一些方法来实现这一点,结合使用git-svn和一个新的分支和变基和所有那些精彩的术语,但我是一个Git新手,并且对它们中的任何一个都没有信心.

然后我想在我选择时运行几个命令将提交推送到该SVN存储库.我希望继续使用Git,只是拥有SVN存储库镜像Git中的内容.

如果这有任何不同,我将是唯一一个承诺进入SVN的人.

svn git git-svn

379
推荐指数
5
解决办法
11万
查看次数

如何从Subversion存储库中git-svn克隆最后n个修订版?

问题

如何使用来自Subversion存储库的git-svn创建浅表副本,例如,如何仅提取最后三个修订版?

git clone如果您使用该选项--depth,该命令可以从Git存储库获取最后n个修订版,即您获得存储库的浅表副本.例:

git clone --depth 3 git://some/repo myshallowcopyrepo
Run Code Online (Sandbox Code Playgroud)

git-svn有类似的选择吗?

到目前为止我的发现

到目前为止,我只找到了-rN选项在哪里N进行修改.例:

git svn clone -rN svn://some/repo
Run Code Online (Sandbox Code Playgroud)

根据文档,有可能使用-r$REVNUMBER:HEAD.我尝试了以下内容来获取最后3个修订版,它们返回了一条错误消息.

$ git svn clone --prefix=svn/ -s -rHEAD~3:HEAD http://some/svn/repo .
revision argument: HEAD~3:HEAD not understood by git-svn
Run Code Online (Sandbox Code Playgroud)

所以我用HEAD~3第三个但最后一个修订版534的实际数字替换了.这有效,但这要求我首先找出第三个但最后一个提交的修订号.

$ git svn clone --prefix=svn/ -s -r534:HEAD http://some/svn/repo .
Run Code Online (Sandbox Code Playgroud)

文档

混帐克隆

GIT-SVN

svn git git-svn git-clone svn-checkout

310
推荐指数
3
解决办法
13万
查看次数

如何从git存储库中删除原点

基本问题:如何将git repo与其克隆的来源解除关联?

git branch -a 说明:

* master
  remotes/origin/HEAD -> origin/master
Run Code Online (Sandbox Code Playgroud)

我想删除所有原产地知识和相关修订.

更长的问题:我想采用一个现有的subversion repo并从中做出一些较小的git repos.每个新的git repos都应该包含相关分支的完整历史记录.我可以使用以下命令将repo修剪为只需要的子树:

git filter-branch --subdirectory-filter path/to/subtree HEAD
Run Code Online (Sandbox Code Playgroud)

但是生成的repo仍然包含origin/master分支下现在丢弃的子树的所有修订版.

我意识到我可以使用-T标志来git-svn来首先克隆subversion repo的相关子树.我不确定这是否比后来运行git filter-branch --subdirectory-filtergit repo副本的多个实例更有效,但无论如何,我仍然希望打破与原点的链接.

git git-svn

245
推荐指数
2
解决办法
19万
查看次数

git-svn:如何通过git创建一个新的svn分支?

我有一个跟踪svn存储库的git存储库.我用它克隆了它--stdlayout.

我通过创建了一个新的本地分支 git checkout -b foobar

现在我希望这个分支最终…/branches/foobar进入svn存储库.

我该怎么做?

(剪了很多调查文本.如果你关心,请查看问题历史)

git version-control git-svn

194
推荐指数
2
解决办法
5万
查看次数

如何告诉git-svn我获取回购后创建的远程分支?

我正在使用git-svn我公司的中央git branch -r存储库.我们最近在中央仓库中创建了一个新功能分支.我怎么fetch说呢?当我跑步时,git-svn我只能看到当我git branch -rfetch仓库对抗以初始化我的git-svn仓库时存在的分支?

git git-svn

190
推荐指数
6
解决办法
7万
查看次数

使用git svn检出远程分支

我已经使用git svn检出了一个svn存储库.现在我需要检查其中一个分支并跟踪它.这是最好的方法吗?

git git-svn

182
推荐指数
1
解决办法
10万
查看次数

忽略git中的修改(但未提交)文件?

我可以告诉git忽略被修改(删除)但不应该被提交的文件吗?

情况是我在repo中有一个子目录,其中包含我根本不感兴趣的东西,因此我将其删除以防止它出现在自动完成等中(在IDE中).

但是现在,如果我将该文件夹添加到.gitignore,只是没有任何变化,所有的东西都显示为被git status删除.

有没有办法让git忽略它?

(或者,因为我正在使用git-svn,我可以将更改提交给本地git并确保它们不会传递给svn repo吗?)

git ignore git-svn

170
推荐指数
5
解决办法
6万
查看次数

标签 统计

git ×10

git-svn ×10

svn ×3

version-control ×2

git-clone ×1

ignore ×1

svn-checkout ×1