Thinker
@Thinker
Thu, Mar 9, 2023 6:52 PM
Thu, Mar 9, 2023 6:52 PM
3
1
git diff 有一點讓人很困擾。在一個檔案刪除一些內容,又加入一些新的內容。 git diff 的作法是列出被刪除的那些內容,然後再加入新的內容。這聽起來很合理,但看起來就很痛苦。
例如,我把一個 block 改寫後,隔了一行,又改寫了另一個 block。那 git diff 的結果會是
- <old block 1>
+<new block 1>
-<old block 2>
+<new block 2>
但如果能改成
-<old block 1>
+<new block 1>
+<new block 2>
-<new block 2> 其閱讀性就會高很多。
Thinker
@Thinker
Thu, Mar 9, 2023 6:54 PM
甚至改成
-<old block 1>
-
-<old block 2>
+<new block 1>
+
+<new block 2>
會更好
yipo🌿
@YiPo
說
Thu, Mar 9, 2023 7:00 PM
可以外掛一些第三方 diff 工具,比如 VS Code 或 Beyond Compare,看 diff 就會舒服許多。
Thinker
@Thinker
Thu, Mar 9, 2023 8:24 PM
剛寫了一個 script,把間隔一行或兩行相臨的 block 合併。這樣看起來順眼多了。
Thinker
@Thinker
Thu, Mar 9, 2023 8:38 PM
左邊是原來 git diff 產生的內容,右邊是簡化後的版本。
Thinker
@Thinker
Thu, Mar 9, 2023 8:41 PM
第一個 chunk 原本零散的幾個 block,被合併成兩大塊。以第一個 function 為例,中間只有一行是相同,再加上一行空白行,可以說是整個重寫。script 整理過後,就直接合併成一大塊。
載入新的回覆
例如,我把一個 block 改寫後,隔了一行,又改寫了另一個 block。那 git diff 的結果會是
- <old block 1>
+<new block 1>
-<old block 2>
+<new block 2>
但如果能改成
-<old block 1>
+<new block 1>
+<new block 2>
-<new block 2> 其閱讀性就會高很多。
-<old block 1>
-
-<old block 2>
+<new block 1>
+
+<new block 2>
會更好