防止Git删除tmp文件

防止Git删除tmp文件,git,cygwin,Git,Cygwin,我想在Cygwin使用IntelliJ作为一个差异工具。但是在IDEA显示差异屏幕之前,在/tmp下创建的tmp文件正在被删除 我的问题是如何防止删除tmp文件?git上是否有此配置 编辑: 当您回显路径时,我可以看到路径,但此路径中没有任何文件。控制台中还有cat文件,可以完美地显示内容。但是退出difftool命令后,我在/tmp下看不到任何文件?为什么?我的猜测是,这个想法“脱离”了自身(通过分叉和退出)。您可以通过从终端启动它来轻松检查它是否为真-如果在启动后立即显示提示,则它为真 对于

我想在Cygwin使用IntelliJ作为一个差异工具。但是在IDEA显示差异屏幕之前,在
/tmp
下创建的tmp文件正在被删除

我的问题是如何防止删除tmp文件?git上是否有此配置

编辑:


当您回显路径时,我可以看到路径,但此路径中没有任何文件。控制台中还有
cat
文件,可以完美地显示内容。但是退出difftool命令后,我在
/tmp
下看不到任何文件?为什么?

我的猜测是,这个想法“脱离”了自身(通过分叉和退出)。您可以通过从终端启动它来轻松检查它是否为真-如果在启动后立即显示提示,则它为真

对于git来说,您的diff工具似乎已经退出,因此它会清理临时文件

我可以看到两种可能的解决办法:

  • 也许这个想法有一面防止分离的旗帜。例如。gvim-
    -f
    有这样一个标志
  • 如果没有,那么您可以将IDEA封装在一个shell脚本中,该脚本将复制文件,然后用您的副本启动IDEA本身(git对此一无所知)。然后,您必须再次考虑何时删除它们。您可以将它们再次复制到
    /tmp
    ,然后希望您的操作系统能够清理它们

  • git不只是删除这样的文件…我添加了一个解释,并举例说明了我的问题。你能再查一下@bames53吗?谢谢女士,我已经完成了你的第二个建议。它工作得非常完美,但现在您帮助我理解了git和idea之间的概念。谢谢
     [difftool "ideadiff"]
     cmd =  echo  \"$(cygpath -wla $LOCAL)\" \"$(cygpath -wla $REMOTE)\"