2013-02-08 201 views

回答

15

花了一些時間來弄清楚論據。 DIFF命令文本框應包含路徑的IntelliJ,如:/Applications/IntelliJ\ IDEA\ 12.app/Contents/MacOS/idea

enter image description here

+2

它與WebStorm類似(在優勝美地和最新版本的WS和ST上測試過)。 Diff命令:'/ Applications/WebStorm.app/Contents/MacOS/webstorm'參數:'diff $ LOCAL $ PWD/$ REMOTE' – Ricardo 2016-02-04 20:11:40

+1

請注意多餘的空格。需要完整路徑,即使父目錄位於'$ PATH' – Ricardo 2016-02-04 20:13:04

+0

上,您可能也需要在non.windows系統上使用啓動腳本:https://www.jetbrains.com/help/idea/2016.1/running-intellij -idea-as-a-diff-or-merge-command-line-tool.html?origin = old_help – Structed 2016-05-11 15:51:12

11

的Windows
diff命令:C:\Program Files (x86)\JetBrains\IntelliJ IDEA 12.1.2\bin\idea.exe
參數:diff $LOCAL $PWD/$REMOTE

合併命令:C:\Program Files (x86)\JetBrains\IntelliJ IDEA 12.1.2\bin\idea.exe
參數:(這對我來說並不正確,我正在尋找解決問題的辦法。LEMS)merge $LOCAL $PWD/$REMOTE $PWD/$BASE $MERGED


由於12.1,這是使用的IntelliJ的區別和合並工具,從程序之外的參數:

diff工具
<path to IntelliJ IDEA launcher> diff <path to file1> <path to file2>

合併工具
<path to IntelliJ IDEA launcher> merge <path to file1> <path to file2> <path to file3> <path to output>

OFFICIAL DOCUMENTATION: running-intellij-idea-as-a-diff-or-merge-command-line-tool


FWIW,我結束了使用的IntelliJ我的源代碼控制。我比Sourcetree更喜歡它。它非常強大。

+0

我正在使用intellij來處理衝突和差異,但我使用sourcetree作爲常規的東西。 – ThanksBro 2013-07-28 11:11:07

+1

我試圖使用Intellij作爲合併工具,但我得到錯誤,因爲它沒有得到由源代碼樹創建的正確的臨時文件。這就像它不等待源樹完成創建臨時對象,然後它得到一個錯誤的數字引用。 – Shad 2015-03-12 16:01:14

4

如果有人在的Mac興趣Android Studio中設置:

<path to IntelliJ IDEA launcher>: 
/Applications/Android\ Studio.app/Contents/MacOS/studio 

Diff tool 
<path to IntelliJ IDEA launcher> diff <path to file1> <path to file2> 

Merge tool 
<path to IntelliJ IDEA launcher> merge <path to file1> <path to file2> <path to file3> <path to output> 

唯一的問題,我注意到的是,Android Studio中不能顯示超過1個DIFF一次。當我嘗試,它抱怨說,文件無法顯示

1

對於Windows上的合併工具,這些參數爲我工作:

merge $PWD/$LOCAL $PWD/$REMOTE $PWD/$MERGED 
3

在Mac上使用的IntelliJ 2016

diff $LOCAL $PWD/$REMOTE 

merge $PWD/$LOCAL $PWD/$REMOTE $PWD/$BASE $PWD/$MERGED 
12

對於OSX安卓工作室我已經完成了這一步驟:

打開IntelliJ/Android Studio - >工具 - >創建命令行啓動器 Something like this:

之後,打開SourceTree首選項,然後放「在/ usr/local/bin目錄/工作室」在比較/合併命令。 像這樣:  Like This:

DIFF參數: DIFF $ LOCAL $ PWD/$ REMOTE

合併參數: 合併$ PWD/$ LOCAL $ PWD/$ REMOTE $ PWD/$ BASE $ PWD/$合併

如果一切都沒有問題,它應該工作。

+0

蟒蛇,非常好! – 2016-10-13 11:11:09

0

On macOS with IntelliJ IDEA CE

diff命令open
參數-W -b com.jetbrains.intellij.ce --args diff "$LOCAL" "$PWD/$REMOTE"

enter image description here

其中:

  • open:系統命令來打開文件和目錄。
  • -W:導致open等待其打開的應用程序(或已打開的應用程序)退出。
  • -b com.jetbrains.intellij.ce:應用程序打開文件時使用的打包標識符。
  • --args:將所有其餘參數傳遞給打開的應用程序argv參數main()
0

正如@Shad提到的,IntelliJ可能不會在Windows中執行diff/merge,因爲臨時文件尚未創建。

一種解決方法是創建一個文件delayed-intellij.bat如下:

ping 127.0.0.1 -n 2 > nul "C:\Program Files\JetBrains\IntelliJ IDEA 2017.2.1\bin\idea64.exe" %*

然後使用Sourcetree本文件:C:\temp\idea64-delayed.bat,它會利用短暫的延遲啓動合併工具。