簡體   English   中英

如何使用Visual Studio 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的比較提交功能。

  1. 查看您的開發分支的歷史記錄。
  2. (可選)單擊“僅顯示第一個父項”的工具欄按鈕。
  3. 選擇合並提交和要與之對比的父級。 在第一個父模式下,這將是列表中的下一個提交。
  4. 右鍵單擊並選擇Compare Commits。

希望這可以幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM