<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    如何使用.gitignore忽略Git中的文件和目錄

    VSole2022-04-21 06:22:02
    通常,在項目上使用Git的工作時,你會希望排除將特定文件或目錄推送到遠程倉庫庫中的情況。.gitignore文件可以指定Git應該忽略的未跟蹤文件。
    在本教程中,我們將說明如何使用.gitignore忽略Git中的文件和目錄。包括常見匹配模式*星號,斜杠/,#井號注釋,?問號,[]方括號等通匹配符,一個.gitignore文件的示例,自定義排除忽略規則,全局的.gitignore配置,調試.gitignore文件,顯示所有被忽略的文件

    應該忽略哪些文件

    被忽略的文件通常是特定于平臺的文件或從構建系統自動創建的文件。一些常見的例子包括:運行時文件,例如日志,鎖定文件,緩存或臨時文件。具有敏感信息的文件,例如密碼或API密鑰。已編譯的代碼,例如.class.o。依賴目錄,例如/vendor/node_modules。構建的輸出目錄,例如/public/out/dist。系統文件,例如.DS_StoreThumbs.db。IDE或文本編輯器配置文件。

    .gitignore模式

    .gitignore文件是純文本文件,其中每行包含一個模式,用于忽略文件或目錄。.gitignore使用 globbing pattern模式來匹配帶通配符的文件名。如果文件或目錄包含在通配符,則可以使用單個反斜杠(\)來轉義字。

    注釋

    以井號(#)開頭的行是注釋,將被忽略。空行可以用來提高文件的可讀性,并可以對相關的模式行進行分組。

    斜杠符

    斜杠符號(/)是目錄的分隔符。斜杠開頭模式相對于.gitignore所在的目錄。如果模式以斜杠開頭,則僅從倉庫的根目錄中開始匹配文件和目錄。如果模式不是以斜杠開頭,則它將匹配任何目錄或子目錄中的文件和目錄。
    如果模式以斜杠結尾,則僅匹配目錄。當目錄被忽略時,其所有文件和子目錄也將被忽略。

    文件名

    最直接的模式是沒有任何特殊字符的文件名。例如/access.log僅匹配access.log。而access.log將會匹配當前目錄與子目錄 access.log,logs/access.log ,var/logs/access.log。當以/斜杠符號結束時則匹配目錄。例如build/匹配build目錄。

    通配符

    *星號符號匹配零個或多個字符。例如*.log模式將匹配error.log,logs/debug.log,build/logs/error.log等所有目錄下以.log作為擴展名的文件。
    **兩個相鄰的星號符號匹配任何文件或零個或多個目錄。當后跟斜杠(/)時,它僅與目錄匹配。例如,logs/將會匹配logs目錄中所有文件與目錄。/build將匹配所有目錄中出現以build命名目錄與文件var/build,pub/build。
    模式foo/**/bar將匹配foo/bar,foo/a/bar,foo/a/b/c/bar。
    ?問號匹配單個任意字符。例如模式access?.log將會匹配access0.log,access1.log,accessA.log 。

    方括號

    [...]方括號匹配方括號中包含的字符。當兩個字符之間用連字符-隔開時,表示一個字符范圍。該范圍包括這兩個字符之間的所有字符。范圍可以是字母或數字。如果[之后的第一個字符是感嘆號(!),則該模式匹配除指定集合中的字符以外的任何字符。
    例如模式*.[oa]將匹配文件file.o,file.a。模式*.[!oa]將匹配file.s,file.1但不匹配file.0與file.a。

    反模式

    以感嘆號(!)開頭的模式將否定先前模式。此規則的例外是,如果排除了其父目錄,則重新包含文件。例如模式 *.log與!error.log這將會匹配所有以.log作為擴展名文件,但不匹配error.log。

    .gitignore范例

    以下是.gitignore文件的示例:
    # 忽略node_modules目錄
    node_modules/
    # 忽略Logs
    logs
    *.log
    # 忽略/dist目錄,相對.gitignore文件所在目錄
    /dist
    # 忽略.env文件
    .env
    # 忽略IDE的配置文件
    .idea/
    .vscode/
    *.sw*
    

    本地.gitignore

    本地.gitignore文件通常放置在倉庫庫的根目錄中。但是,你可以在倉庫的不同子目錄中創建多個.gitignore文件。.gitignore文件中的模式相對于文件所在目錄匹配。
    在子目錄中的文件中定義的模式優先于高于根目錄中的模式。本地.gitignore文件與其他開發人員共享,并且應包含對存儲庫的所有其他用戶有用的模式。

    個人忽略規則

    應在.git/info/exclude文件中配置特定于本地倉庫且不應分發到其他倉庫的模式。例如,你可以使用此文件忽略個人項目工具中生成的文件。

    全局.gitignore

    Git還允許你創建全局.gitignore文件,你可以為本地系統上的每個Git倉庫定義忽略規則。該文件可以命名為任意名稱,并存儲在任何位置。保存此文件的最常見位置是主目錄。你必須手動創建文件并配置Git使用它。
    例如,要將~/.gitignore_global設置為全局Git忽略文件,你可以執行以下操作。首先創建文件:
    touch ~/.gitignore_global
    
    將文件添加到Git配置:
    git config --global core.excludesfile ~/.gitignore_global
    
    使用文本編輯器打開文件并向其中添加規則。全局規則對于忽略你永遠不想提交的特定文件(例如帶有敏感信息或已編譯的可執行文件的文件)特別有用。

    忽略以前提交的文件

    你的工作副本中的文件可以被追蹤,也可以不被追蹤。要忽略先前提交的文件,你需要取消暫存并從索引中刪除該文件,然后在.gitignore中添加該文件模式:
    git rm --cached filename
    
    --cached選項告訴git不要從工作樹中刪除文件,而只是從索引中刪除它。要遞歸刪除目錄,請使用-r選項:
    git rm --cached filename
    
    如果要從索引和本地文件系統中刪除文件,請忽略--cached選項。以遞歸方式刪除文件時,使用-n選項將執行空運行并顯示要刪除的文件:
    git rm -r -n directory
    

    調試.gitignore文件

    有時候,確定為什么要忽略特定文件可能會很困難,尤其是當你使用多個.gitignore文件或復雜格式時。這是git check-ignore命令的用處,告訴git顯示匹配模式的詳細信息。
    例如,要檢查為什么忽略www/yarn.lock文件,可以運行:
    git check-ignore -v www/yarn.lock
    
    輸出顯示gitignore文件的路徑,匹配行的編號和實際模式。
    www/.gitignore:31:/yarn.lock www/yarn.lock
    
    該命令還接受多個文件名作為參數,并且文件不必存在于你的工作樹中。

    顯示所有被忽略的文件

    帶有--ignored選項的git status命令顯示所有被忽略文件的列表:

    git status --ignored

    結論

    .gitignore文件使你可以從git倉庫中排除文件。該文件包含用于描述應忽略的特定文件和目錄的模式。gitignore.io是一種在線服務,可讓你為操作系統,編程語言或IDE生成.gitignore文件。如果你有任何問題或反饋,請隨時發表評論。
    git模式匹配
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    忽略/dist目錄,相對.gitignore文件所在目錄。本地.gitignore文件與其他開發人員共享,并且應包含對存儲庫的所有其他用戶有用的模式。輸出顯示gitignore文件的路徑,匹配行的編號和實際模式。
    8、獲取文件目錄,dir9、利用模塊收集信息WIN-5FMG87H62FN:C:\phpstudy_pro\WWW $ :system_info -info uname
    git 對于大家應該都不太陌生,熟練使用git已經成為程序員的一項基本技能,盡管在工作中有諸如 Sourcetree這樣牛X的客戶端工具,使得合并代碼變的很方便。但找工作面試和一些需彰顯個人實力的場景,仍然需要我們掌握足夠多的git命令。
    就這么簡單,代碼就被存起來了。當你修復完線上問題,切回 feature 分支,想恢復代碼也只需要:git?保存當前未commit的代碼。刪除stash的所有記錄。當有多條 stash,可以指定操作stash,首先使用stash list 列出所有記錄
    前言 使用 Git 作為代碼版本管理,早已是現在開發工程師必備的技能。可大多數工程師還是只會最基本的保存、拉取、推送,遇到一些commit管理的問題就束手無策,或者用一些不優雅的方式解決。 本文分享我在開發工作中實踐過的實用命令。這些都能夠大大提高工作效率,還能解決不少疑難場景。下面會介紹命令,列出應用場景,手摸手教學使用,讓同學們看完即學會。 stash 描述 官方解釋:當您想記錄工作目錄和
    Git常用命令大全
    2022-01-20 08:18:07
    一、新建代碼庫 # 在當前目錄新建一個Git代碼庫 $ git init # 新建一個目錄,將其初始化為Git代碼庫 $ git init [project-name] # 下載一個項目和它的整個代碼歷史 $ git clone [url] 二、配置 Git 的設置文件為. gitconfig,它可以在用戶主目錄下 (全局配置),也可以在項目目錄下 (項目配置)
    Git 實用技巧記錄
    2021-11-09 07:43:48
    只有在遇到問題的時候,才體會到技巧帶來的好處!—— 歡迎光臨 => https://oschina.gitee.io/learn-git-branching/常見企業工作流程主要介紹,企業中常用的 Git 工作流程!
    Git 各指令的本質
    2021-11-02 16:11:12
    Git是一個分布式代碼管理工具,在討論分布式之前避免不了提及一下什么是中央式代碼管理倉庫 中央式:所有的代碼保存在中央服務器,所以提交必須依賴網絡,并且每次提交都會帶入到中央倉庫,如果是協同開發可能頻繁觸發代碼合并,進而增加提交的成本和代價。最典型的就是svn 分布式:可以在本地提交,不需要依賴網絡,并且會將每次提交自動備份到本地。每個開發者都可以把遠程倉庫clone一份到本地,并會把提交歷史一
    Git是一個開源的分布式版本控制系統,用于敏捷高效地處理任何或小或大的項目。今天主要Git常用的操作命令。git操作流程git框架如下:主要操作流程如下:二Git 配置??在安裝完成 Git 后,開始正式使用前,是需要有一些全局設置的,如用戶名、郵箱。查看所有的已經做出的配置。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类