[英].gitignore everything except
我有一個充滿文件和子目錄的大目錄。
其中兩三個文件是主目錄中的excel電子表格,我需要定期往返於家中。
我的想法是創建一個只包含這幾個文件的 git 存儲庫,然后使用 git 通過 github 上的私有存儲庫來回傳遞文件。
我無法將這些文件移動/隔離到它們自己的其他地方的目錄中,它們需要留在原處(在數百個其他文件中)。 因此,如果我在該目錄上創建一個存儲庫,它將包含大量我不想包含的文件。 這就像我需要創建一個帶有白名單的存儲庫,上面寫着“排除除 file1.xls、file2.xls 之外的所有內容”。
我的 git 技能很弱。 任何人都可以建議最干凈的方法來做到這一點,或者是否有更慣用的方法來做到這一點?
正如@matt 指出的那樣,Git 只“看到你明確要求它看到的文件”。 這里的一個簡單解決方案是除了您想要的文件外不簽入任何內容。
$ git add file1.xls file2.xls
$ git commit -m "Here are the Excel files"
如果您希望能夠使用$ git add .
簽入所有內容$ git add .
,或者只是避免意外添加其他文件之一的機會,一種技術是通過*
忽略所有內容,然后包含您的特定文件或匹配的文件擴展名。
這是一個示例.gitignore
。
# Ignore everything
*
# Include specific files excluded by a previous pattern
!file1.xls
如果您可以檢查所有 Excel 文件,請將file.xls
替換為*.xls
。
從文檔:
一個可選的前綴“
!
”,它否定了模式; 任何被先前模式排除的匹配文件將再次包含在內。 如果排除了該文件的父目錄,則無法重新包含該文件。 出於性能原因,Git 不會列出排除的目錄,因此包含文件的任何模式都不起作用,無論它們在哪里定義。 對於以文字“!
”開頭的模式,例如“\\!important!.txt
”,在第一個“!
”前放置一個反斜杠(“\\
”)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.