GIT合并文件内容对于文件名不正确。 (SmartGit / Hg || IntelliJ IDEA)&& (P4Merge || KDiff3)

时间:2013-12-10 20:07:42

标签: git intellij-idea smartgit kdiff3 p4merge

问题

在设置合并工具以解决冲突时,发送到合并工具的文件对于它们包含的内容不正确。我试过搜索Stack Overflow,但还没有找到答案。


详细

我是GIT的新手。在试图了解更多信息时,我在Bitbucket上设立了一个私人回购。我有Windows 7 64位和以下软件:

  • GIT客户:SmartGit / Hg
  • 代码编辑器:IntelliJ IDEA Ultimate
  • 合并:P4Merge || KDiff3

从SmartGit / Hg调用KDiff3时:

  

(A) C:\ Users \ Username \ AppData \ Local \ Temp \ smartgit6393324384790956404tmp \ compare_base_2787531226782357806_README.md
  (B) C:\ Users \ Username \ AppData \ Local \ Temp \ smartgit6393324384790956404tmp \ compare_ours_2686269382530657828_README.md
  (C) C:\ Users \ Username \ AppData \ Local \ Temp \ smartgit6393324384790956404tmp \ compare_theirs_8849401324186420794_README.md
  (输出) D:\ Path \ to \ project \ README.md

从IDEA调用KDiff3时:

  

(A) C:\ Users \ Username \ AppData \ Local \ Temp \ Merge_Result2324777776464644375.md
  (B) C:\ Users \ Username \ AppData \ Local \ Temp \ Local_Changes7034162268721107201.markdown
  (C) C:\ Users \ Username \ AppData \ Local \ Temp \ Changes_from_Server__revision_d7bcd6bd85df4f7bae648786dfa944825991b4f3_1371061438544389037.markdown
  (输出) D:\ Path \ to \ project \ README.md

  • (A)正确显示基数,在IDEA的情况下“Merge_Result”令人困惑,但至少它有基础数据。
  • (B)的内容是HEAD数据,它应该是LOCAL。
  • (C)的内容显示LOCAL数据,它应该是HEAD。
  • (OUTPUT)是应将合并/解决方案保存到的冲突文件的正确位置。

我的理解是本地数据在我的/我们/你的/本地文件中,而头数据应该在他们/ remote / head文件中。


设置

SmartGit / Hg P4Merge设置:

  

文件模式: * .md
  命令: P:\ Program Files \ Perforce \ p4merge.exe
  参数: $ {baseFile} $ {leftFile} $ {rightFile} $ {mergedFile}

SmartGit / Hg KDiff3设置:

  

文件模式: * .md
  命令: P:\ Program Files(x86)\ KDiff3 \ kdiff3.exe
  参数: $ {baseFile} $ {leftFile} $ {rightFile} -o $ {mergedFile}

解决问题后,我会更新文件模式。

IDEA KDiff3设置:

  

可执行文件的路径: P:\ Program Files(x86)\ KDiff3 \ kdiff3.exe
  参数:%2%1%3 -o%4


问题

P4Merge和KDiff3都有同样的问题,这让我觉得我的本地GIT安装可能有问题,但我不知道接下来要在哪里进行故障排除并解决这个问题。我做错了什么,如何解决?

我想继续学习Git,但如果我担心我的差异和合并工具(或他们正在使用的数据)的准确性,我就无法专注于此。


参考

P4Merge:http://www.perforce.com/perforce/doc.current/manuals/cmdref/P4MERGE.html
KDiff3:http://kdiff3.sourceforge.net/doc/documentation.html

我还有三个,但我没有足够的声誉来发布更多链接。它们相当于Bitbucket,Araxis文档和Stack Overflow页面,它引用了P4Merge中未记录的选项/参数/参数。我没有使用Araxis,但他们有一些很好的指示,可以在许多不同的程序中找到你的冲突解决器设置。


创建冲突

README.md(第一版)

# This is my README  
This file has been modified BASE  

拉​​。

README.md(通过Bitbucket /网页编辑,提交,批准)

# This is my README  
This file has been modified SERVER  

README.md(本地修改)

# This is my README  
This file has been modified LOCAL  

藏匿更改。拉。申请Stash。恭喜!您现在有一个需要解决的冲突。

0 个答案:

没有答案