使用 Git / Diff 比較目錄內所有檔案的差異

有兩個資料夾, 要比對兩個資料夾裡面的檔案差異, 可以使用 Git 和 Diff 來快速達成.

測試目錄與檔案建立

  1. mkdir test1
  2. mkdir test2
  3. cd test1
  4. echo 'a' > a
  5. echo 'b' > b
  6. echo 'c' > c
  7. cd ../test2
  8. echo 'aa' > a
  9. echo 'bb' > b
  10. echo 'c' > c
  11. cd ..

有兩個資料夾, 要比對兩個資料夾裡面的檔案差異, 可以使用 Git 和 Diff 來快速達成.

測試目錄與檔案建立

  1. mkdir test1
  2. mkdir test2
  3. cd test1
  4. echo 'a' > a
  5. echo 'b' > b
  6. echo 'c' > c
  7. cd ../test2
  8. echo 'aa' > a
  9. echo 'bb' > b
  10. echo 'c' > c
  11. cd ..

使用 Diff 比較兩個目錄的檔案差異

  • diff -r test1 test2

    diff -r test1/a test2/a
    1c1
    < a
    ---
    > aa
    diff -r test1/b test2/b
    1c1
    < b
    ---
    > bb

使用 Git 比較兩個目錄的檔案差異

於原始目錄使用 git init, commit 後, 將 .git 搬到要比較的目錄, 再用 git status 或 git diff 比較即可.

  1. cd test1
  2. git init
  3. git add .; git commit -m 'initial'
  4. mv .git ../test2
  5. git diff # 或 git status 可以先比對檔案哪些有被修改

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

在〈使用 Git / Diff 比較目錄內所有檔案的差異〉中有 4 則留言

  1. 用搬移.git的方式比较。。。。
    虽然这个主意很新奇,但有什么好处么?为什么不同通用的比较方式呢?比如kdiff之类?

    对于文件很多的情况比较速度会快?但操作多多了啊

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料