[英]Problems with Git adding folders on a case-insensitive file system
我正在Windows上測試Git,以考慮是否使用它。 我剛剛啟動了一個新的存儲庫,創建了一個.gitignore
文件,並嘗試添加一些文件夾。
到目前為止,我已經面臨兩個問題:
我使用touch .gitignore
命令創建了.gitignore
文件,此后,我嘗試使用cat .gitignore
命令添加過濾器,但似乎並沒有讓我添加任何內容,我必須編輯手動歸檔。
對於測試,假設我有一個名為“ 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無法處理空文件夾
cat FILENAME
使cat
將文件FILENAME
的內容傳送到其標准輸出,因此,以這種調用形式,不能使用cat
來修改文件。
如果要使用cat
修改.gitignore
文件,請執行
cat >.gitignore
用您將輸入到cat
的標准輸入的任何內容覆蓋該文件(在Windows上通過輸入^Z
( Ctrl-Z
)終止該文件),或
cat >>.gitignore
附加任何你輸入到運行cat
到該文件。
無論哪種情況,我都想嘗試使用如此鋒利的工具完成如此簡單的任務有點奇怪,因為您似乎缺乏對標准Unix工具箱的深入了解。 在學習的同時,我現在會堅持使用文本編輯器。
我想知道gitignorecase
是什么。 您需要的配置選項名為core.ignorecase
,應使用類似以下的命令進行設置
git config --add [--local] core.ignorecase true
這是手冊頁,介紹git config
及其已知的所有標准選項。 您可以通過運行以下命令在瀏覽器中打開本手冊的本地副本
git help config
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.