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