我是git
n00b。我正在使用Visual Studio Git源代码控制提供程序。
我不小心上演并提交了许多生成并保存在我的Web项目的App_Data
文件夹中的临时文件。
现在我的回购在提交之后是愚蠢的大量。
由于他们受到源代码管理,我不认为删除它们并再次提交会产生很大的不同(尽管我仍然尝试过,但肯定没有用)。
我知道将来我可以/应该App_Data
添加.gitingnore
,但现在损坏已经完成。 :(
感谢您的帮助!
答案 0 :(得分:1)
$ git rm -rf <the folder with the temporary files>
或者,根据该名称找到某种文件名称和$ git rm
。
答案 1 :(得分:1)
我知道您希望从存储库中删除好的对象,而不仅仅是进行另一个将来隐藏它们的提交。
由于它只是您的本地存储库,因此与重写历史相关的大多数不良内容都不适用于此处。但是,我担心这种操作对于Visual Studio Git源代码控制提供程序来说太先进了,并且没有办法从扩展中实现这一点。
使用命令行工具,您可以执行interactive rebase,例如5次提交:git rebase -i HEAD~5
。将打开一个文本编辑器,向您显示该范围内的所有提交,允许您对它们进行各种更改。
如果整个提交都不好,你只需要删除该行,然后让它重放其余部分。
如果只删除部分提交,您可以:
pick
命令更改为相关行的edit
git rm -r App_Data
git rebase --continue
通过更改修改您已停止的提交,并继续重播此后的其余提交之后,git gc
可能对清理数据库很有用。
答案 2 :(得分:1)
我们假设你安装了git命令。然后你可以通过简单地杀死你的最后一次提交来修复它:
git reset --hard HEAD~
您还可以在保留所有文件之后终止提交,而不是在此错误提交之后:
git reset --soft HEAD~