Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 是否有用于大型切割和粘贴的差异和补丁_Git_Diff_Patch - Fatal编程技术网

Git 是否有用于大型切割和粘贴的差异和补丁

Git 是否有用于大型切割和粘贴的差异和补丁,git,diff,patch,Git,Diff,Patch,是否有一个好的工具/工作流程,可以使diff+补丁操作与文本文件之间的大型剪切粘贴操作相互转换 我们有三个文件source.old、source.new和destination。我们之前将几个文本块从source.old复制到目标,但除此之外,这些文件具有共享的历史记录。此后,我们编辑了source.old以生成source.new,并怀疑复制的块中出现的更改与目标相关 我们首先使用或通过指定表示目标上粘贴操作的特定git提交来自动识别复制和粘贴。由于复制和粘贴将是一个已编辑的副本,因此应使用类

是否有一个好的工具/工作流程,可以使diff+补丁操作与文本文件之间的大型剪切粘贴操作相互转换

我们有三个文件source.old、source.new和destination。我们之前将几个文本块从source.old复制到目标,但除此之外,这些文件具有共享的历史记录。此后,我们编辑了source.old以生成source.new,并怀疑复制的块中出现的更改与目标相关

我们首先使用或通过指定表示目标上粘贴操作的特定git提交来自动识别复制和粘贴。由于复制和粘贴将是一个已编辑的副本,因此应使用类似于差异的上下文描述源.old和目标的复制和粘贴操作,并为每个复制的块提供差异

接下来,我们创建一个补丁文件,表示复制的块中从source.old到source.new的更改,但在必要时将source.old中的上下文替换为destination中的上下文,并重新排列块以匹配destination。最后,我们以交互方式应用补丁,以拾取相关更改

有没有一种简单的方法可以使用类似diff和patch的工具来实现这一点?如果我们讨论的是源和目标位于同一存储库中的剪切粘贴操作,那么这类工具应该存在,因为可能会将一个文件拆分为多个较短的文件。在进行这种重组之前,我一直很小心地降低我的工作分支的速度,但大概git可以处理这样的跨文件更改。当源和目标位于不相关的存储库中时,如何手动执行该操作

试试Unix的和,它可以处理diff的输出。看来它会完全满足你的要求