1. 出現(xiàn)問題
在已經(jīng)提交過的 GIT 管理的項(xiàng)目中,在 .gitignore 文件中新增一些忽略的文件或者文件夾,或者直接新建 .gitignore 文件之后,新增的內(nèi)容不生效。
2. 實(shí)例截圖
3. 實(shí)例描述
- lifecycle.js 文件已新增到 .gitignore 文件中,但是 lifecycle.js 文件修改的時(shí)候依然會(huì)上傳;
- yarn.lock、yarn-error.log、package-lock.json 和 lifecycle.js 是相同的情況。
4. 分析原因
- .gitignore 文件的用途:該文件只能作用于Untracked Files,也就是那些從來沒有被 GIT 記錄過的文件(自添加以后,從未 add 及 commit 過的文件)。
- 規(guī)則不生效因?yàn)椋耗切?.log 文件曾經(jīng)被 GIT 記錄過,因此 .gitignore 對(duì)它們完全無效。
5. 解決辦法
5.1 方案一
未被 GIT 記錄過,那就只有刪除遠(yuǎn)程庫和本地的被忽略文件或文件夾。
- 1.1 刪除本地被忽略的文件;
- 1.2 git add *
- 1.3 git commit -m “xxx”
- 1.4 git push
按照此方案,會(huì)導(dǎo)致本地文件或者文件夾也被刪除,這樣會(huì)導(dǎo)致本地也會(huì)存在問題。文章來源:http://www.zghlxwxcb.cn/news/detail-758482.html
5.2 方案二
未被 GIT 記錄過,刪除遠(yuǎn)程庫被忽略文件或文件夾,保留本地的被忽略文件或文件夾。文章來源地址http://www.zghlxwxcb.cn/news/detail-758482.html
- 2.1 git rm --cached filename/-r directory
- 2.2 git commit -m “xxx”
- 2.3 git push
6. 刪除遠(yuǎn)程庫文件,保留本地
6.1 命令代碼
git rm --cached yarn-error.log
git commit -m "刪除遠(yuǎn)程庫 yarn-error.log 文件"
git push
6.2 執(zhí)行演示
- 刪除
- 提交
- 推送
7. 刪除遠(yuǎn)程庫文件夾,保留本地
7.1 命令代碼
git rm --cached -r config
git commit -m "刪除遠(yuǎn)程庫 config 文件夾"
git push
7.2 執(zhí)行演示
- 添加忽略文件夾
- 刪除
- 提交
- 推送
8. 總結(jié)
- 不同文件的作用階段不同,因此在使用某個(gè)功能的時(shí)候,就需要搞清除該功能生效的情況。
- 刪除文件和文件夾的不同命令,需要注意。
- push 后文件或者文件夾不會(huì)立即變暗,需要關(guān)閉編輯器,重新打開項(xiàng)目,忽略的文件或文件夾就會(huì)變暗。
到了這里,關(guān)于【GIT問題解決】---- 在【.gitignore】中添加了忽略文件或文件夾后不生效的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!