Diff
如何在 file.txt.orig 和 file.txt 之間自動區分
目前,我正在通過設置在vim上編輯文件
patchmode=.orig
,然後有兩個文件:
file.txt.orig
<- 無需更改即可備份file.txt
<- 更新文件但是,我想生成一個差異而不必重命名
.orig
文件,所以patch
明白它只是file.txt
已更新。理想情況下,我真的很喜歡我可以執行的工作流程
diff -u file.txt
它將自動比較file.txt.orig
並file.txt
輸出一個.diff
包含--- file.txt 2021-05-03 17:47:12.685416342 +0200 +++ file.txt 2021-05-03 17:47:30.538750593 +0200 @@ -1 +1,2 @@ foo bar +bar baz
代替
diff -u file.txt.orig file.txt
--- file.txt.orig 2021-05-03 17:47:12.685416342 +0200 +++ file.txt 2021-05-03 17:47:30.538750593 +0200 @@ -1 +1,2 @@ foo bar +bar baz
以上確實需要我
.diff
每次手動編輯文件。如果.orig
自動使用文件是可能的,我很樂意將 vim 更新檔模式與集成diff
並擁有一個有效的更新檔,而無需額外的努力。也許有更好的方法來解決這個問題?任何建議,將不勝感激。兩者
diff
或git diff
都適用於我的情況。
工作流程對我有用。也許您正在通過嘗試將更新檔應用到您之前更新的文件來進行測試?
準備
echo this is original >file.txt.orig echo this is new >file.txt diff -u file.txt.orig file.txt >file.diff cat file.diff --- file.txt.orig 2021-05-03 19:17:13.038918015 +0100 +++ file.txt 2021-05-03 19:17:21.548900027 +0100 @@ -1 +1 @@ -this is original +this is new
創建原始文件的副本以進行修補
mkdir x cp -p file.txt.orig x/file.txt cd x cat file.txt this is original patch <../file.diff patching file file.txt cat file.txt this is new