git 忽略檔案的幾種方式以及應用場景
- .gitignore檔案配置
最常用的忽略設定, 可以設定整個專案要忽略的資料夾, 對於已經在track的檔案, 需要先移除track, 具體操作網上很多. 這種方式常用語忽略第三方庫, 臨時檔案和配置檔案, 關於配置檔案設定, 在網上找到一個不錯的辦法
引自:https://segmentfault.com/q/1010000000430426
對於充當模版的檔案,在檔名上加以區分然後用 Git 記住。比如說實際的配置檔案應該叫 database.conf,在寫好模版之後可以更名為 database.conf.example。Git 記錄 database.conf.example 但是忽略 database.conf。
每一個人克隆下來之後,複製一份 database.conf.example 為 database.conf 然後修改後者以符合本地的要求。由於後者是在 .gitignore 裡的,所以不會被記錄,也完全不需要 update-index。
- exclude檔案配置
這個檔案在 .git/info/exclude 和 .gitignore檔案的配置方式相同, 不同點在於exclude中的配置不會影響其他人, 這個東西做了下實驗, 發現沒有效果, 可能是我姿勢不對, 目前也沒想到應用場景 - git update-index --assume-unchanged PATH
在PATH處輸入要忽略改動的檔案, 例如:git update-index --assume-unchanged logs/*.log
將會忽略logs資料夾下的所有log字尾的檔案改動, 注意, 這個忽略並非是不記錄, 而是讓git假裝目標檔案沒有改變, 關於這個檔案的正確用法:
引自:https://segmentfault.com/q/1010000000430426
應用了該標識之後,Git 停止檢視工作區檔案可能發生的改變,所以你必須 手動 重置該標識以便 Git 知道你想要恢復對檔案改變的追蹤。當你工作在一個大型專案中,這在檔案系統的 lstat 系統呼叫非常遲鈍的時候會很有用。
- 你正在修改一個巨大的檔案,你先對其 git update-index --assume-unchanged,這樣 Git 暫時不會理睬你對檔案做的修改;
- 當你的工作告一段落決定可以提交的時候,重置改標識:git update-index --no-assume-unchanged,於是 Git 只需要做一次更新,這是完全可以接受的了;
- 提交+推送。
- git update-index --skip-worktree PATH
https://www.zhihu.com/question/25234996
--assume-unchanged 假定開發人員不會更改檔案。此標記旨在為無變化資料夾(如 SDK)改善效能。
--skip-worktree 用於命 GIT 不再染指特定檔案——即便開發人員可能更改它——的情形。例如,如果主原始碼庫上游承載某些即將投入生產的配置檔案而你不希望意外的提交影響到那些檔案,--skip-worktree 正是你的菜。
相關資料
git忽略已經被提交的檔案 評論有很多幹貨
git 中的 assume-unchanged 與 skip-worktree 的區別是什麼?
https://segmentfault.com/q/1010000004164349?_ea=513032
相關文章
- 檔案上傳的幾種方式
- spring事務失效的幾種場景以及原因Spring
- 一文搞懂,這幾種 API 的不同應用場景API
- git 忽略跟蹤檔案Git
- Git——.gitignore 忽略檔案和忽略已經提交過的檔案Git
- JavaScript~檔案下載的幾種方式JavaScript
- php讀取檔案的幾種方式PHP
- Java檔案下載的幾種方式Java
- Git 忽略已經提交的檔案Git
- Git忽略檔案.gitignore的使用Git
- git 忽略已提交過的檔案Git
- git的忽略檔案和刪除檔案操作Git
- 沉浸式空間場景的使用有哪幾種方式?
- Java檔案下載 幾種方式Java
- Redis詳解以及Redis的應用場景Redis
- PG獲取檔案大小的幾種方式
- Git 小技巧:忽略某些檔案的更改Git
- go的 & 和 * 的區別,以及應用場景Go
- API介面的運用場景以及獲取方式API
- git 入門教程之忽略檔案Git
- Git上傳時忽略某些檔案Git
- Redis最常見的5種應用場景Redis
- Git中.gitignore檔案不起作用的解決以及Git中的忽略規則介紹Git
- 網頁引入使用js檔案的幾種方式網頁JS
- Pytest的斷言方式及應用場景
- Git命令git update-index --assume-unchanged,忽略不想提交的檔案(忽略跟蹤)GitIndex
- 變更資料捕獲CDC幾種應用場景 - RTInsights
- Spark Streaming 的原理以及應用場景介紹Spark
- redis常見的幾種使用場景Redis
- Redis的11種Web應用場景簡介RedisWeb
- 【Mysql】mysqldump 匯出各種場景的應用MySql
- git工作常用命令列應用場景Git命令列
- Spring Boot讀取配置檔案的幾種方式Spring Boot
- 幾種windows到linux上傳檔案的方式WindowsLinux
- 【JavaEE】讀取配置檔案路徑的幾種方式Java
- git 強制忽略加入版本控制的檔案Git
- mysql忽略主鍵衝突、避免重複插入的幾種方式MySql
- mysql 忽略主鍵衝突、避免重複插入的幾種方式MySql