txt - git windows r n




在Windows上忽略Git倉庫中的目錄 (10)

以防萬一您需要排除子文件夾,您可以使用**通配符排除任何級別的子目錄。

**/build/output/Debug/

如何在Windows上使用msysgit忽略Git中的目錄或文件夾?


似乎忽略文件和目錄有兩種主要方法:

  1. 的.gitignore

    • .gitignore文件放到你的repo的根目錄下,除了.git文件夾(在Windows中, 確保你看到了真正的文件擴展名 ,然後製作.gitignore. (最後一點使文件擴展名為空))
    • 進行全局配置~/.gitignore_global並運行git config --global core.excludesfile ~/.gitignore_global將其添加到你的git config中

    注意:之前跟踪的文件可以通過運行git rm --cached filename來解除跟踪

  2. 回購排除 - 對於不需要共享的本地文件,只需將文件模式或目錄添加到文件.git/info/exclude 。 這些規則不提交,所以其他用戶不會看到更多信息

[已更新]要在忽略文件列表中設置例外,請參閱此問題


在Windows中,還有一些額外的斜杠。 用.gitignore排除單個目錄

dir_to_exclude /

將可能工作,但排除所有目錄

/

當你的目錄中有空格的文件名時(比如my file.txt ),會導致問題:Git bash用反斜杠(如my\ file.txt )轉義這些空格,Git for Windows不區分/\

要排除所有目錄更好地使用:

** /

連續兩個星號表示目錄內容。


在項目目錄中創建一個名為.gitignore的文件。 通過在文件中輸入目錄名稱(用斜線添加)來忽略目錄:

dir_to_ignore/

更多信息here


您可以使用以下內容創建“.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)

  • 該文件只讀為'*',並且目錄被完全忽略,本身和所有文件都被忽略!

就這麼簡單:)





msysgit