在git中设置.gitignore忽略规则不起作用的解决方法

  • 在vs studio中设置 .gitignore设置忽略规则,但有时发现不没有作用
 .DS_Store
node_modules/
npm-debug.log
yarn-error.log
dist/
.idea

# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln

复制代码

原因是因为在Studio的git忽略目录中,新建的文件在git中会有缓存,如果某些文件已经被纳入了版本管理中,就算是在.gitignore中已经声明了忽略路径也是不起作用的,这时候我们就应该先把本地缓存删除,然后再进行git的push,这样就不会出现忽略的文件了

清除缓存命令:

git rm -r --cached .
git add .
git commit -m 'update .gitignore'
复制代码

清除之后再push一下就ok了

Git版本控制系统,当你想要忽略特定文件或目录的变化时,通常会在项目的根目录下创建一个名为`.gitignore`的文件。这个文件用于告诉Git哪些内容不应被跟踪,包括但不限于编译临时文件、日志、数据库备份等。 如果你需要修改`.gitignore`文件的内容并希望这次修改也被忽略,即不在提交历史保留对它的更改,你需要遵循一些步骤: 1. 首先,打开一个新的暂存区 (`git add`) 来添加 `.gitignore` 的更新,而不是直接将更新 commit 到主分支。这可以防止立即记录下对 `.gitignore` 的改动: ``` git add .gitignore ``` 2. 然后,你可以执行 `git update-index --assume-unchanged .gitignore` 这条命令,告知Git不再关心该文件未来的变化,直到你明确解除这个设置。但这通常不是推荐的做法,因为这可能会隐藏其他潜在的问题。 3. 更正式的方式是,如果仅希望暂时忽略某个特定版本的改动,你可以提交当前的`.gitignore`状态,然后在下次提交时再处理它。例如: - 提交当前状态: ```bash git commit -m "Add changes to .gitignore" ``` - 解除假设未改变的设置(如果你想开始跟踪 .gitignore 变化了): ```bash git update-index --no-assume-unchanged .gitignore ``` 4. 最后,如果你确实想永久性地忽略`.gitignore`的变更,你应该确保所有必要的规则都已经包含在内,并删除对该文件的假设未变设置: ```bash git rm --cached .gitignore git commit -m "Stop tracking .gitignore changes" ``` 后续只需正常添加新的规则即可。 记住,除非有特殊原因,一般建议保持`.gitignore`文件的变动可见,因为它定义了项目结构的重要部分。只有在必要时才采取上述措施。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值