簡體   English   中英

Git在不區分大小寫的文件系統上添加文件夾的問題

[英]Problems with Git adding folders on a case-insensitive file system

我正在Windows上測試Git,以考慮是否使用它。 我剛剛啟動了一個新的存儲庫,創建了一個.gitignore文件,並嘗試添加一些文件夾。

到目前為止,我已經面臨兩個問題:

  1. 我使用touch .gitignore命令創建了.gitignore文件,此后,我嘗試使用cat .gitignore命令添加過濾器,但似乎並沒有讓我添加任何內容,我必須編輯手動歸檔。

  2. 對於測試,假設我有一個名為“ Folder”的文件夾,如果我使用命令git add folder ,git似乎正確添加了它,但是如果我用git status命令檢查了它,則沒有添加任何文件,所以我必須寫區分大小寫的git add Folder ,然后git status顯示所跟蹤文件夾的文件。

我正在使用Windows,並且gitignorecase設置為true。

謝謝你的幫助!

編輯:我在Windows上搜索了一些有關Git的信息,通常主要的看法是“不要在Windows上使用Git”,所以我將尋找其他DVCS,例如Mercurial或Bazaar。

感謝您的回答!

為了將文件添加到.gitignore中,只需使用文本編輯器將其打開並添加它們即可。如果要從unix命令的輸出中添加它們,則可以執行command >> ~/.gitignore 這將導致命令輸出附加到.gitignore。

要回答第二個問題,core.ignorecase表示:

如果為true,則此選項啟用各種變通辦法,以使git在不區分大小寫的文件系統(例如FAT)上更好地工作。 例如,如果目錄列表在git期望“ Makefile”時找到“ makefile”,則git將假定它確實是同一文件,並繼續將其記住為“ Makefile”。 git-config(1)手冊頁

此定義不建議您以錯誤的大小寫“添加”文件並期望它能正常工作。 特別是您說了“添加此目錄”,並且您給的目錄名不是真實目錄(視情況而異),因此它什么也沒做。

如果文件夾為空,則不會添加任何內容,因為git無法處理空文件夾

  1. cat FILENAME使cat將文件FILENAME的內容傳送到其標准輸出,因此,以這種調用形式,不能使用cat修改文件。

    如果要使用cat修改.gitignore文件,請執行

     cat >.gitignore 

    用您將輸入到cat的標准輸入的任何內容覆蓋該文件(在Windows上通過輸入^ZCtrl-Z )終止該文件),或

     cat >>.gitignore 

    附加任何你輸入到運行cat到該文件。

    無論哪種情況,我都想嘗試使用如此鋒利的工具完成如此簡單的任務有點奇怪,因為您似乎缺乏對標准Unix工具箱的深入了解。 在學習的同時,我現在會堅持使用文本編輯器。

  2. 我想知道gitignorecase是什么。 您需要的配置選項名為core.ignorecase ,應使用類似以下的命令進行設置

     git config --add [--local] core.ignorecase true 

    這是手冊頁,介紹git config及其已知的所有標准選項。 您可以通過運行以下命令在瀏覽器中打開本手冊的本地副本

     git help config 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM