約 1 分鐘閱讀

Read in English →

從 Git 倉庫中移除 .DS_Store 文件

如果你是一個同時使用 Mac 和 Git 的用戶,你可能會無意間提交 .DSStore 文件。這可能會讓你的 Windows 同事感到困惑,他們可能不清楚這些文件的用途,也不明白你為何要提交它們。

如果你是一個同時使用 Mac 和 Git 的用戶,你可能會無意間提交 .DS_Store 文件。這可能會讓你的 Windows 同事感到困惑,他們可能不清楚這些文件的用途,也不明白你為何要提交它們。

首先,什麼是 .DS_Store 文件? DS 代表桌面服務(Desktop Services),這些文件被 Mac 用來確定當你打開它們時如何顯示文件夾。例如,它們存儲自定義屬性,如圖標的位置。這些文件由 Mac 的 Finder 應用程序創建並維護,並且通常是隱藏的。

這些 .DS_Store 文件對 Windows 用戶無益,也不需要提交到你的 GitHub 倉庫。要從你的倉庫中移除現有的 .DS_Store 文件,執行以下命令:

    find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch

然後,提交更改以移除這些文件,並推送到遠程倉庫。為了防止這些文件再次被添加,編輯你的 .gitignore 文件,並添加以下行:

    .DS_Store

這樣做將避免你的同事產生任何疑慮。

繼續探索這個主題

  • 在Git中忽略已修改的文件

    我遇到了一種罕見的情況,一個文件已經被修改,但是我不想將這個變更提交給Git。有各種方法可以實現這一點,比如使用.gitignore文件。然而,如果文件已經被追蹤,這種方法就不起作用。

  • 在 Mac 上尋找並終止鎖定特定端口的進程

    問題:有時候,當您啟動一個本地 Node.js 服務器時,它可能會繼續在後台運行。如果您嘗試再次啟動服務器,您可能會遇到一個錯誤,指出端口(例如,8080)已經在使用中並被鎖定:

  • 解決Unity遊戲引擎的合併衝突

    我正和一個四人的團隊在周末進行一個Unity 3D遊戲項目的工作。這很有趣,但我們遇到了版本控制的問題。使用Git和GitHub,我們遇到了許多不容易解決的合併衝突; 它不僅僅是刪除一個部分或執行強制推送那麼簡單:

返回文章列表