2013-10-21 32 views
1

我們的git存儲庫和工作流程的配置方式是我們有一個名爲「stream-head」的分支,它是主線存儲庫,然後爲我們正在提交的每個故障單創建單獨的分支。我經常發現自己想要將我所在的票#分支與流頭主線分支進行比較,以查看我所做的更改。git difftool跨兩個分支文件很容易與製表符完成?

我發現這個命令來打開Kdiff3有用:

git difftool stream-head:<path_to_file> <ticket_#_branch>:<path_to_file> 

例子:

git difftool stream-head:./food/fruit/apple/gala.c ticket12345:./food/fruit/apple/gala.c 

與此唯一的問題是文件通常在很多子目錄埋,你可以看到在上面的例子。鍵入此命令時,製表符完成不可用,因此非常麻煩並且容易出錯。

如何輕鬆地跨分支進行視覺差異,而無需手動輸入整個文件路徑?

回答

2

下面是可能給你Tab鍵的自動完成功能的替代指標:如果你發現自己在你的開發分支重複執行這個對於很多文件,以瞭解不同

git difftool stream-head ticket12345 ./food/fruit/apple/gala.c 

,它可能是更有效的使用改爲--dir-diff選項。由於您似乎使用Kdiff3作爲diff工具,因此應該激活一個窗口,其中包含您指定的兩個分支之間的所有文件差異。例如:

git difftool --dir-diff stream-head ticket12345 
+0

'git difftool stream-head ticket12345。/ food/fruit/apple/gala.c'正是我一直在尋找的東西。 Tab完成工作在文件路徑上,謝謝。 –