![](/img/trans.png)
[英]Disable automatic commit of changed files in Visual Studio 2013 to git
[英]How to see the files changed in a merge commit using Visual studio git integration
我正在使用visual studio git集成並嘗試查看合並提交中哪些文件已更改。
說我正在查看我的dev分支的歷史,並且我已經從master合並到dev中。 如果我查看合並提交,它會顯示我在dev中編輯的文件; 我想看到的是我從master合並的變化(在命令行術語中我認為我正在尋找的是“git show -m --first-parent”)。
有沒有辦法通過visual studio集成實現這一目標? 如果沒有,是否有任何免費工具可以列出已更改的文件,然后可以調用我的標准git difftool來查看各個更改。
可以通過多種方式查看合並提交中的更改。
與所有父對象的差異 - 一種常見的方法是與其所有父對象區分合並提交。 在至少一個父級中可以找到的任何更改都不是該合並提交中的更改,因此除非存在必須解決的沖突,否則合並提交將經常顯示為空。
使用FIRST父進行Diff - 另一種常見方法是僅使用其第一個父進行合並提交。 想法是如果合並topic-> master,那么master將是第一個parent。 然后,與master進行區分將顯示從此合並中的主題分支流入的所有更改。
讓用戶選擇 - 允許與所有父母進行差異或選擇特定父母。
要在合並提交顯示中看到這種差異,這是使用diff-tree命令的示例。
“git diff-tree -m <merge_commit_id>” - 此命令將顯示針對個別父母的更改。 合並提交似乎不是空的。
“git diff-tree -c <merge_commit_id>” - -c選項指示Git“僅列出從所有父節點修改的文件”。 除非在合並提交中直接進行沖突解決或其他更改,否則此命令將不會顯示合並提交中的任何更改。
VS 2017的“提交詳細信息”視圖中的當前行為是與合並提交的所有父項進行區分。 我們通過用戶反饋發現,這是對用戶最不容易混淆的選項,因為無論合並的方向如何,它都是一致的視圖。 在未來的更新中,希望該功能將得到增強,還可以支持選擇要對其進行區分的單個父級。
作為解決方法,另一種選擇是使用VS 2017的比較提交功能。
希望這可以幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.