亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何檢查兩次提交是否僅代碼格式不同

如何檢查兩次提交是否僅代碼格式不同

慕勒3428872 2023-09-20 17:32:37
我試圖將 java checkstyle 添加到一個 Hugh 項目中,并遇到了大約 7000 個錯誤,我認為formatting整個項目將消除 5000 個錯誤。問題是我的團隊拒絕審查這個提交(在 git 上),因為這是一個巨大的變化。有沒有一種方法/腳本可以輕松確定兩次提交是否僅在代碼格式上有所不同,并且沒有邏輯差異。
查看完整描述

3 回答

?
不負相思意

TA貢獻1777條經驗 獲得超10個贊

您可以首先使用一些選項檢查差異來減少一些差異,例如

git?diff?--ignore-all-space?--allow-indentation-change?--ignore-blank-lines?HEAD^

它不會忽略更復雜的重構,但有爭議的是,大量的樣式更改只會影響空格和縮進。


查看完整回答
反對 回復 2023-09-20
?
慕標琳琳

TA貢獻1830條經驗 獲得超9個贊

解決方案1

將一個修訂簽入一個目錄,將另一修訂簽入另一個目錄。對兩個目錄應用相同的格式。無論您應用什么特定格式,兩個目錄都應該相同。

然后使用您選擇的 diff 工具(例如 Meld、WinMerge、Diffinity)比較目錄。如果它們沒有顯示出差異,那么實際上兩個修訂版除了格式之外沒有任何差異。

解決方案2

更簡單的方法是不比較修訂版本,而只是格式化代碼:恢復提交,檢查“基線”修訂版本,格式化代碼,提交。然后您將確保除了格式之外沒有任何更改。


查看完整回答
反對 回復 2023-09-20
?
翻閱古今

TA貢獻1780條經驗 獲得超5個贊

一種解決方案是比較構建結果(即編譯項目并構建 JAR 或 WAR 或其他工件)。如果僅更改格式,則生成的字節碼將與前一個字節碼相同。因此,簡單的逐位比較將告訴您格式更改是否沒有破壞任何功能。

另一個解決方案是僅使用您擁有的任何自動化測試并運行它們。盡管根據您團隊的反應,我認為您沒有廣泛的測試覆蓋范圍。


查看完整回答
反對 回復 2023-09-20
  • 3 回答
  • 0 關注
  • 172 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號