首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将diff本地文件直接提交到Git中

将diff本地文件直接提交到Git中
EN

Stack Overflow用户
提问于 2020-01-14 16:34:13
回答 1查看 214关注 0票数 1

我想使用外部diff工具在提交文件和本地文件之间运行一个diff,而我的本地文件没有临时文件。我正在Windows上运行git。

我目前正在尝试使用:git difftool --dir-diff <commit> -- <path_to_local_dir>。这种方法工作得很好,但是<path_to_local>临时文件夹在AppData中表示。对于大多数用途来说,这是很好的。

但是,使用外部diff工具(在我的例子中是BeyondCompare4),diff工具提供了将特定更改从<commit>“复制”到<path_to_local>的功能。这就是我的问题所在。如果Git强制对本地文件使用临时文件夹,则“复制”行为是无用的,因为它只是在修改临时文件。

我知道我可以编写一个脚本,在保存后将临时的内容复制到本地文件,但我正在寻找一个更优雅的解决方案。

作为sidenote,Mercurial默认支持请求的行为(只在本地文件不存在时创建临时文件)

简单地说,是否有一种方法可以强迫git difftool 实际使用本地文件,而不是为已经存在的本地文件创建和使用临时文件?

编辑:用词

EN

回答 1

Stack Overflow用户

发布于 2020-01-14 16:34:13

当我做许多事情时,我最终过度思考了这个问题。

原来,正如git 衍射工具文档中所述,默认情况下,git difftool对工作树中的文件使用符号链接。

符号链接的全部解释是这里。快速的解释是,如果您修改到文件的符号链接,您将有效地、实际上地修改该文件。

在Windows上,这个问题变得更加不清楚了,因为Git的默认行为是--no-symlinks,但是最终结果应该是相同的。

简单回答:只需单击临时文件上的保存即可。这些更改应该显示在本地文件中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59738075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档