txt - git windows r n
在Windows上忽略Git倉庫中的目錄 (10)
以防萬一您需要排除子文件夾,您可以使用**
通配符排除任何級別的子目錄。
**/build/output/Debug/
如何在Windows上使用msysgit忽略Git中的目錄或文件夾?
似乎忽略文件和目錄有兩種主要方法:
的.gitignore
- 將
.gitignore
文件放到你的repo的根目錄下,除了.git
文件夾(在Windows中, 請確保你看到了真正的文件擴展名 ,然後製作.gitignore.
(最後一點使文件擴展名為空)) - 進行全局配置
~/.gitignore_global
並運行git config --global core.excludesfile ~/.gitignore_global
將其添加到你的git config中
注意:之前跟踪的文件可以通過運行
git rm --cached filename
來解除跟踪- 將
回購排除 - 對於不需要共享的本地文件,只需將文件模式或目錄添加到文件
.git/info/exclude
。 這些規則不提交,所以其他用戶不會看到更多信息
[已更新]要在忽略文件列表中設置例外,請參閱此問題 。
在Windows中,還有一些額外的斜杠。 用.gitignore排除單個目錄
dir_to_exclude /
將可能工作,但排除所有目錄
/
當你的目錄中有空格的文件名時(比如my file.txt
),會導致問題:Git bash用反斜杠(如my\ file.txt
)轉義這些空格,Git for Windows不區分/
和\
。
要排除所有目錄更好地使用:
** /
連續兩個星號表示目錄內容。
您可以使用以下內容創建“.gitignore”文件:
*
!.gitignore
它適用於我和簡單。
我有一些問題在Windows資源管理器中用a創建文件。 在開始時。
解決方法是進入命令行界面並使用“編輯”創建新文件
我有類似的問題,我在一個Windows工具鏈上使用與Linux人員共享的repo,他們很高興地在給定的文件夾中創建與[case]名稱相同的文件。
其效果是,我可以克隆回購,並立即有幾十個'修改'的文件,如果我檢查會造成浩劫。
我有窗戶設置為區分大小寫和混帳不忽略大小寫,但它仍然失敗(在win32 api調用顯然)。
如果我gitignore的文件,那麼我必須記住不跟踪.gitignore文件。
但我在這裡找到了一個很好的答案http://archive.robwilkerson.org/2010/03/02/git-tip-ignore-changes-to-tracked-files/index.html
克里斯
我認為問題在於你的工作樹是這樣的:
a-cache/foo
a-cache/index.html
b-cache/bar
b-cache/foo
b-cache/index.html
.gitignore
...你描述的.gitignore
。 這會給你像git status
輸出:
$ git status
# On branch master
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# .gitignore
# a-cache/
# b-cache/
... 如果 index.html
文件尚未添加到存儲庫中。 (git會在緩存目錄中看到未經過標識的文件,但只會報告目錄。)要解決此問題,請確保已添加並提交index.html
文件:
git add *cache/index.html
git commit -m "Adding index.html files to the cache directories"
...然後你的git status
將如下所示:
$ git status
# On branch master
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# .gitignore
nothing added to commit but untracked files present (use "git add" to track)
(顯然你也想要提交.gitignore
,我只是懶於使用這個測試用例。)
當事實上文件名是.gitignore.txt
時,默認情況下,Windows資源管理器將顯示.gitignore.txt
Git不會使用.gitignore.txt
而且你不能將文件重命名為.gitignore
因為explorer認為它是一個沒有名字的gitignore類型的文件。
非命令行解決方案:
You can rename a file to ".gitignore." and it will create ".gitignore"
要忽略git中的整個目錄,最簡單的方法是在目標目錄中包含一個僅包含“*”的.gitignore文件。
舉例說明,
示例係統
/root/
.gitignore
/dirA/
someFile1.txt
someFile2.txt
/dirB/
.gitignore
someFile3.txt
someFile4.txt
目標
- 忽略/ dirB /
頂級.gitignore(/root/.gitignore)
- 這是你的標準gitignore信息去的地方
忽略的目錄.gitignore(/root/dirB.gitignore)
- 該文件只讀為'*',並且目錄被完全忽略,本身和所有文件都被忽略!
就這麼簡單:)