没用过.gitignore还敢自称高级开发?
Git是跟蹤項(xiàng)目中所有文件的好工具, 但是,您會(huì)希望在項(xiàng)目的整個(gè)生命周期中不要跟蹤某些文件及其變更。
系統(tǒng)文件(i.e. Mac系統(tǒng)的.Ds_Store)
應(yīng)用程序配置文件(i.e. app.config, .env)
構(gòu)建組件(i.e. *.pyc)
安裝的依賴(i.e. node_modules)
個(gè)人文件(i.e. todo.txt)
應(yīng)用程序數(shù)據(jù)和日志(i.e. .log,.sqlite)
Git中g(shù)itignore概念:以.gitignore文件定義哪些文件將被Git排除跟蹤, 被.gitignore匹配到的文件將不會(huì)顯示在Git的Untracked files列表。
使用.gitignore防止跟蹤文件
.gitignore文件控制Git倉(cāng)庫(kù)中應(yīng)排除跟蹤的文件(可由文件類型、路徑、通配符等確立)。
Visual Studio
使用VS為項(xiàng)目創(chuàng)建(或連接)代碼倉(cāng)庫(kù)時(shí),Visual Studio自動(dòng)在倉(cāng)庫(kù)中創(chuàng)建.gitignore文件
下載.gitignore模板
從https://github.com/github/gitignore下載特定項(xiàng)目類型的.gitignore文件模板,修改以充分適配你的項(xiàng)目
Git將.gitignore應(yīng)用于文件夾及其子文件夾,建議您將.gitignore放在存儲(chǔ)庫(kù)的根文件夾中,以免造成混淆。
實(shí)踐中有時(shí)會(huì)在項(xiàng)目子目錄嵌套定義.gitignore文件, 雖然不常見(jiàn),但對(duì)于有特定規(guī)則的子目錄,嵌套定義.gitignore文件有用。
自定義.gitignore
只要你修改了.gitignore文件,Git立即開(kāi)始忽略這些文件;如果你希望團(tuán)隊(duì)成員都忽略相同的文件,請(qǐng)?zhí)峤贿@次git變更。
.gitignore中的每一行都排除一個(gè)文件或一組(與模式匹配的)文件, ?.gitignore語(yǔ)法很靈活:
Windows使用者注意:.gitignore文件中的路徑使用正斜杠分隔符,而不是反斜杠
對(duì)已提交文件忽略變更
臨時(shí)忽略變更
在開(kāi)發(fā)階段,有時(shí)候要臨時(shí)忽略文件變更,特別是你拿到源代碼需要針對(duì)本地環(huán)境做一些修改時(shí)有用
git update-index --skip-worktree <file>恢復(fù)文件追蹤
git update-index --no-skip-worktree <file>永久忽略文件變更
如果文件已經(jīng)被Git跟蹤,再將這個(gè)文件添加到.gitignore文件并不會(huì)忽略文件變更。
你需要從Git Index中移除這個(gè)文件的信息:
在.gitignore文件中添加這個(gè)文件
從Index移除文件信息
提交刪除文件和更新的.gitignore到您的倉(cāng)庫(kù)
以上步驟不會(huì)從系統(tǒng)中刪除文件,只是告訴Git以后忽略該文件的變更
附1. 僅在個(gè)人系統(tǒng)中忽略文件
.gitignore文件被提交并推送之后,就會(huì)在團(tuán)隊(duì)共享。
若只想在你的系統(tǒng)上排除文件,請(qǐng)編輯倉(cāng)庫(kù)中的.git/info/exclude文件: 修改這個(gè)文件不會(huì)共享給其他人,這個(gè)動(dòng)作只對(duì)這個(gè)倉(cāng)庫(kù)有效
附2. 系統(tǒng)中跨倉(cāng)庫(kù)忽略文件
利用git config工具建立全局.gitignore文件,
這個(gè)操作幫助你全局忽略絕不會(huì)提交的文件類型,比如編譯文件
總結(jié)
通過(guò)本文你將學(xué)習(xí)到:
使用.gitignore阻止Git跟蹤文件
對(duì)已提交的文件忽略變更
附1. 只在個(gè)人系統(tǒng)上忽略文件
附2. 在個(gè)人系統(tǒng)上跨倉(cāng)庫(kù)忽略文件
Git為我們提供一種機(jī)制,告訴我們不應(yīng)在存儲(chǔ)庫(kù)中跟蹤哪些文件, 這是一項(xiàng)強(qiáng)大的功能。豐富的語(yǔ)法以及層次結(jié)構(gòu),更好地控制哪些文件被忽略以及哪些文件未被忽略。
https://docs.microsoft.com/en-us/azure/devops/repos/git/ignore-files?view=azure-devops&tabs=visual-studio
推薦閱讀
●?這么香的Chrome插件,你都安裝了嗎?
●?一文掌握Cookies前世今生
●?ASP.NET Core跨平臺(tái)技術(shù)內(nèi)幕
●?TPL Dataflow組件應(yīng)對(duì)高并發(fā),低延遲要求
●?使用Docker-Compose搭建高可用redis哨兵集群
● 使用瀏覽器嗅探解決部分瀏覽器丟失Cookie問(wèn)題
戳原文,更有料!
總結(jié)
以上是生活随笔為你收集整理的没用过.gitignore还敢自称高级开发?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 你遇到的面试官是「伯乐」吗?
- 下一篇: .net core 集成 sentry