回覆列表
  • 1 # 使用者6840987323640

      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

  • 中秋節和大豐收的關聯?
  • 玩CS右上角出現紅字waring:cl_fu****?