被git diff
有关diff
?
是git diff
基于diff
?
是的命令行语法git diff
类似于那个的diff
?学习一种对使用另一种有很大帮助吗?
它们的输出文件是否遵循相同的格式?它们可以同时被git patch
和 使用patch
吗?(有git patch
吗?和 有什么关系patch
?)
谢谢。
文件格式是可互操作的。Git 使用最好的格式,diff -u
. 它还扩展它以表示其他类型的更改。
相当于patch
是git apply
。它暂存索引中的更改并将它们应用到工作树。
我记得git apply
比 更严格patch
,尽管参考文档似乎没有进行明确的比较。它确实提到了几个可以启用或禁用的测试/错误。
参考文档还建议它可以用作“GNU 补丁的替代品”——即使在 git 存储库之外,如果您使用某个选项。
git-diff 提供了比 diff 更多的功能,我不认为输出补丁是可互操作的(没有一些附加选项),因为 diff 会生成类似的行
diff -ruNa dir1/file1.txt dir2/file1.txt
Run Code Online (Sandbox Code Playgroud)
而 git-diff 会生成类似这样的行
diff --git a/dir1/file1.txt b/dir2/file1.txt
Run Code Online (Sandbox Code Playgroud)
(注意源和目标前缀,可使用--no-prefix
和不同选项切换)
以下是 git-diff 的一些附加功能:
可以记录移动/重命名的文件,而diff 不能
使用递归模式、统一差异并默认处理新文件/已删除文件 ( diff -ruN
)
支持不同的算法来查找差异
支持 git 二进制补丁,将二进制数据编码为 ASCII
归档时间: |
|
查看次数: |
2185 次 |
最近记录: |