相关疑难解决方法(0)

Git和Mercurial - 比较和对比

有一段时间我一直在为我的个人项目使用subversion.

我越来越多地听到关于Git和Mercurial以及DVCS的一般情况.

我想给整个DVCS带来一些旋转,但我对这两种选择都不太熟悉.

Mercurial和Git有什么区别?

注意:我不是要找出哪一个是"最好的",甚至不应该从哪个开始.我主要寻找他们相似的关键领域,以及他们不同的关键领域,因为我有兴趣知道他们在实施和理念方面有何不同.

git version-control mercurial dvcs

518
推荐指数
10
解决办法
4万
查看次数

转换为git时保留svn副本历史记录

我正在尝试将SVN repo转换为多个git repos.到目前为止,我一直在使用git svn clone svn_repo_project_pathSVN中的每个项目.我注意到git似乎没有遵循svn复制操作,因此生成的历史比我预期的要简单得多.假设我的SVN repo看起来像这样:

  • 一个
  • b
  • C
  • 家长PROJ
    • b
    • C

项目bc在最近复制parent-proj的重组计划与最终从自己的老位置删除它们下根的意图的一部分.当我这样做git svn clone http://svnhost/parent-proj所产生的git仓库丢失所有源自历史/b/c之前的举动.

这是git-svn的限制还是有一些方法可以让这个历史出现在我的回购中?根据我的有限研究,似乎使用获取已使用git-svn重命名的SVN repo的完整历史记录中filter-branch描述的命令可能有效,尽管在我的情况下有多个父项可能使事情复杂化.可以首先克隆整个仓库,然后从中拆分新的仓库(使用filter-branch?)是一种更好的方法吗?

git git-svn

6
推荐指数
1
解决办法
1767
查看次数

Git可以合并“使用” git blame -C找到的信息吗?

读完这个问题后,我想到了这个问题:Git真的可以跟踪单个功能从一个文件到另一个文件的移动吗?如果是这样,怎么办?

这是worfklow:

“很久以前”,我们将一个大文件拆分为folder/file.py许多文件:folder1/file.pyfolder2/file.py依此类推。

git blame -C当我们查看时folder2/file.py,正确显示了该代码的历史记录,我们看到一些提交是在拆分之前进行的。

问题是我们继续维护仍然具有的旧版本代码,folder/file.py当我们将修补程序合并回“当前”版本时,git继续重新创建该文件夹folder,并且看不到folder/file.py应将所做的修补程序合并到其中folder1/file.pyfolder2/file.py取决于此代码块现在位于何处。

我快速看了一下,git help merge但没有发现任何东西。

git git-merge branching-and-merging

5
推荐指数
1
解决办法
147
查看次数