Git从存储库中删除*.sln.docstates
本文关键字:sln docstates 删除 存储 Git | 更新日期: 2023-09-27 18:00:06
不知怎么的,我不小心提交了一个.sln.docstates文件。现在我把它添加到gitignore中,但是它不会被忽略。我想这是因为我已经犯过一次了。不知道什么时候!
有没有可能让这个gitignore规则发挥作用?如何从存储库中删除它?
*.sln.docstates
以这种方式删除它:
$ git rm --cached '*.sln.docstates
…那么.gitigner应该受到尊重。
这取决于您是推送了存储库更改还是本地更改。
如果您已经将更改推送到远程存储库,那么就不应该重写历史记录。
如果您的更改仅为本地更改,则使用git log .sln.docstates
查找文件的历史记录,并定位添加文件的提交位置。从提交中删除文件需要一些git filter-branch
魔法,请参阅相应的答案。
如果文件只出现在最近未发布的提交中,情况会更简单:您可以使用git rm --cached .sln.docstates
和git commit --amend
。(--cached
开关告诉git不要接触您的文件,只从索引中删除它,然后修改您的最后一个提交,而不是使用--amend
开关创建新的提交。)