Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.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
Windows 7上Sourcetree中的Diff Word docx文件_Windows_Git_Diff_Docx_Atlassian Sourcetree - Fatal编程技术网

Windows 7上Sourcetree中的Diff Word docx文件

Windows 7上Sourcetree中的Diff Word docx文件,windows,git,diff,docx,atlassian-sourcetree,Windows,Git,Diff,Docx,Atlassian Sourcetree,我一直在尝试在Windows7的Sourcetree中获取Word.docx文件的文本差异。我已经按照这里的说明使用了Pandoc,并且可以从命令行让它工作。不幸的是,我无法在Sourcetree中显示该差异。我还需要做些什么来让它工作吗 这是我放在项目根目录中的.gittributes文件: # Add diff of docx files. *.docx diff=word 这是我的.git\config文件: [core] repositoryformatversion = 0

我一直在尝试在Windows7的Sourcetree中获取Word.docx文件的文本差异。我已经按照这里的说明使用了Pandoc,并且可以从命令行让它工作。不幸的是,我无法在Sourcetree中显示该差异。我还需要做些什么来让它工作吗

这是我放在项目根目录中的.gittributes文件:

# Add diff of docx files.
*.docx diff=word
这是我的.git\config文件:

[core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true
    hideDotFiles = dotGitOnly
[diff "word"]
  textconv=pandoc --to=markdown
  prompt = false
[alias]
  wdiff = diff --word-diff=color --unified=1

我在寻找解决同样问题的办法。Pandoc似乎不能很好地与SourceTree合作,我想知道是否有一个有效的替代方案。然后我想起了WinMerge在几年前用一个外部工具xdocdiff解决了这个问题。步骤如下:

  • 如果你还没有下载xdocdiff,你可以按照建议安装或者放在你喜欢的文件夹中
  • 如前所述,在Windows
    PATH
    变量中添加文件夹(需要重新启动才能生效)
  • 通过在命令行窗口中键入命令
    xdoc2text
    ,验证一切正常,输出将是使用帮助程序(如下所示):

  • 编辑项目根目录中的
    .git\config
    文件:

    *.doc diff=xdoc2txt
    *.xls diff=xdoc2txt
    # ...
    # add any other supported extensions you need
    
    [diff "xdoc2txt"]
      textconv = xdoc2txt
      cachetextconv = true
      binary = true
      prompt = false
    

这些行允许我查看SourceTree内部的差异预览。

在设置SourceTree>Tools>Options>Git>Use System Git之后,我可以使用pandoc或XDoc2Text

你可能会对它感兴趣,但是那张票还没有关闭感谢链接。这表明我不会让它工作。是的,这表明它没有在源代码树中实现。我很高兴我不是唯一一个尝试这样做的人。然而,我已经试着按照你的指示去做了,但仍然无法让它工作。您正在使用哪个版本的SourceTree?我的版本是1.6.22.0。我的版本是1.6.20.0。确保打开Windows的命令行时,如果键入命令
xdoc2text
,它不会返回“未找到命令”错误。是否使stage或discard hunk命令正常工作?显示差异适用于当前版本2.4.7.0,但每当我尝试丢弃一个大块头时,就会出现一个错误:“git apply”失败,代码为1:[…]错误:搜索[…]。我想从sourcetree到相应的hunks的过程中可能还缺少一些东西?你是如何使用mercurial的?
[diff "xdoc2txt"]
  textconv = xdoc2txt
  cachetextconv = true
  binary = true
  prompt = false