昨晚,一名团队成员在匆忙中不小心将半个不必要的拉链推到了远程仓库.是的...哎呀.
从那以后,没有人拉过或做过.
理想情况下,我想"撤消"发生的事情.
我看过filter-branch,正在考虑尝试类似的东西
git filter-branch --tree-filter 'rm -f *.zip' HEAD
Run Code Online (Sandbox Code Playgroud)
但这将是本地的,我无法弄清楚如何直接在远程回购上做.
是否有更简单的方法来撤消发生的事情?如果她修改了她的最后一次提交并再次推送将撤消推送 - 即实际上从历史记录中删除这些文件?
显然,如果她删除它们,再次提交和推送,那么仍然会将内容留在回购中,这是不好的.
Str*_*ray 54
谢谢唐,我已经看到了,但不知何故没有意识到它解决了我的问题,因为我只有一个分支.
我做了:
git push -f origin 5910117a8fc2c71334251465b54d6d9daeb28d1c:master
Run Code Online (Sandbox Code Playgroud)
而这一切都回到了原来的样子.
我认为
git reset --hard HEAD^
git push -f
Run Code Online (Sandbox Code Playgroud)
应该诀窍:它将您的本地签出重置为先前的提交(假设最后一个是您要删除的那个)并强制将其推送到远程存储库.