git-忽略指定文件


git-忽略指定文件

 

軟件版本:
  操作系統:ubuntu10.04
  內核版本:Linux version 2.6.32-36-generic

    git 版本:git version 1.7.0.4

目錄:
  1. 介紹
  2. 全局與局部
    2.1 全局
    2.2 局部
  3. 語法
  4. 例子
  5. 參考資料

1. 介紹

  有些文件是我們並不想加入也無需被添加到 Git 管理中,同時也不希望他出現在未跟蹤列表中。例如在編譯過程中生成的 o 文件。 “.gitignore” 文件可以達到這個效果。

2. 全局與局部

  .gitignore 有全局和局部兩種:

2.1 全局

    通過修改全局配置 git config 中的 excludesfile 指定全局忽略文件。設置方法:

$git config --global core.excludesfile ~/.gitignore
    修改 ~/.gitignore 這個文件將作用於所有 git 項目,並且作用於項目實例中的所有被跟蹤的目錄。比如說我們可以在該文件中添加 *.o 來忽略所有 .o 文件。

2.2 局部

    忽略文件默認為當前目錄的 .gitignore ,但它只作用於當前目錄下。上面說到,在全局的 .gitignore 文件中添加 *.o 會忽略所有目錄下產生的 .o 文件,但在當前目錄下的 .gitignore 中添加 *.o 卻只能忽略當前目錄下的 .o 文件。

3. 語法

  .gitignore 的語法規范如下:

  ·所有空行或者以注釋符號 # 開頭的行都會被 Git 忽略;
  ·可以使用標准的 glob 模式匹配。 * 匹配模式最后跟反斜杠(/)說明要忽略的是目錄。 * 要忽略指定模式以外的文件或目錄,可以在模式前加上驚嘆號(!)取反。

    glob 模式匹配:

  ·星號(*)匹配零個或多個任意字符;
  ·[abc] 匹配任何一個列在方括號中的字符(這個例子要么匹配一個 a,要么匹配一個 b,要么匹配一個 c);
  ·問號(?)只匹配一個任意字符;
  ·[0-9a-zA-Z] 在方括號中使用短划線分隔兩個字符,表示所有在這兩個字符范圍內的都可以匹配(比如 [0-9a-zA-Z] 表示匹配所有 0 到 9 的數字和所有字母);
  ·\ 轉義字符。

    注:理論上來說,在要忽略的格式文件后面添加注釋是允許的,但經過我的驗證,結果發現這樣子操作並不能達到預期的效果。

4. 例子

    一個 .gitignore 例子。

    # 此為注釋 – 將被 Git 忽略
# 忽略所有 .a 結尾的文件
*.a
# 但 lib.a 除外
!lib.a
# 僅僅忽略項目根目錄下的 TODO 文件,不包括 subdir/TODO
/TODO
# 忽略 build/ 目錄下的所有文件
build/
# 會忽略 doc/notes.txt 但不包括 doc/server/arch.txt
doc/*.txt

5. 參考資料

[1] 《pro git》


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM