大家都知道了如果是第一次提交就能把ignore列表设置完善,那就不会出现这样的问题,然并卵---你需要看以下的解决方案:
1、我最开始使用的解决方案---使用命令行,真麻烦!
设置保存后,需要清理git的缓存才可以生效,清理流程:
1.打开 git bash
2.cd d:/code/test //切换 到代码文件夹
3.git rm -r --cached . //清除缓存,注意小数点 小数点前面还有一个空格
4.git add . //添加修改,注意小数点 小数点前面还有一个空格
5.git commit -m “Refresh adding .gitignore file.” //刷新缓存
到此,.gitignore文件正式生效。
2、思考及改善
SourceTree主打的是可视化,以前小乌龟用习惯的人总是说SourceTree不好,咱也不惯着他们,sourcetree也搞了这么多年,全方面替换小乌龟,肯定有他的道理。又回到命令行的解决方案,显然辜负了大家的期待。仔细想想不可能,应该还是我们不会用。
GITignore文件我们后续更改后需要刷新仓库,这就是方案1使用的方法核心,难道SourceTree不能自动刷新吗?
3、终极解决方案
图1
一切的核心在于第3步---自动刷新,它会代替命令行的刷新模式,将仓库内的文件使用2中修改后的规则刷新
4、思路来源
为什么有时候强调是有时候,使用右键选择“忽略”,可以忽略相关的文件
忽略为什么有时候是灰色的?
先看不是灰色的情况
现在又可以了?
当可以选择忽略的时候,能到这里就好办了,他会自动的将这些选定的文件或文件加入忽略列表,并自动刷新,如图1所示。
忽略变成灰色了,为什么?
当这个文件以前被版本管理过,现在只是更改,这时候右键的忽略选项就不起作用了,此时只能主动修改gitignore的文件,刷新后生效。
5、后续更新
20250107 ---发现使用sourcetree更新ignore发现没有实现想要的效果,重新使用命令行 解决(后续需要继续探究一下原因)
- git rm -r --cached . 删除 Git 缓存中所有文件和目录 注意小数点 小数点前面还有一个空格
- git add . 将所有文件和目录重新添加到 Git 缓存中 注意小数点 小数点前面还有一个空格
- git commit -m “update .gitignore” 提交修改,并添加一条修改内容的备注信息
在sourcetree中使用命令行刷新的操作步骤:
首先需要更改gitignore,打开设置并更改gitignore文件并保存
然后按照以下操作命令行
a、点击命令行模式
b、运行以下命令,清楚git缓存---该命令会从 Git 的缓存中移除所有文件,但不会删除实际文件。
git rm -r --cached .
c、运行以下命令,重新添加文件到git
git add .
d、提交更改
git commit -m "更新gitignore并提交"
最后得出的结论是,使用sourcetree也需要手动刷新。
6、2025-6-5更新
当文件是第一次被跟踪是,更改gitignore文件保存后刷新有效。
否则就需要步骤5中的命令行清除缓存,才能ignore列表才能更新