git - 在 hg 或 git 中区分两个完整的目录/项目?

标签 git version-control diff cvs mercurial

我继承了一个最初存储在 CVS 中的项目,其中包含所有修订。我进行了相当多的编辑,并且我正在尝试比较我在原始目录中所做的所有更改,关于添加的新文件与旧文件。

是否有某种适用于 hg/git 的实用程序,我可以在其中进行树差异或类似性质的操作?这么说吧,新增文件和删除文件之间有一个标记,我是不是要求太多了?

最佳答案

简单地从两个任意文件或目录创建一个 git 差异格式的差异补丁没有任何花哨的存储库内容或版本控制:

git diff --no-index some/path other/path > some_filename

Jakub Narębski 对 knittl 的回答的评论暗示了答案......为了简单起见,这就是完整的命令。

> 部分创建一个文件并将输出重定向到它。如果你不想要一个文件,只想在你的控制台中打印输出以便你可以复制它,只需删除 > some_filename 部分。


为了方便复制和粘贴,如果您已经cd到一个目录,该目录包含名为a 的原始目录/文件和修改后的目录b,它将是:

git diff --no-index a b > patch

关于git - 在 hg 或 git 中区分两个完整的目录/项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1791854/

相关文章:

git - 两种 git rebase 方法之间的区别

git - 如何测试我的预接收 Hook ?

SVN 由 1 个用户专门更改的文件列表

git - 删除 Git 中单个文件的版本历史记录

jquery - 如何忽略 Bower 中的源文件

Eclipse m2e多模块项目 checkout 并转换为maven

javascript - 比较数组和json数据

bash - 'diff' 命令可以忽略不同类型的换行符吗?

git - 将 master 恢复到旧提交,同时保留提交