我"意外地"向GitHub推送了一个提交.
是否可以删除此提交?
我想恢复我提交之前的GitHub存储库.
可能重复:
通过1次提交回滚本地和远程git存储库
如何从远程GIT存储库中删除最后一次提交,例如我在日志中不再看到它?
例如git log
,如果给我以下提交历史记录
A->B->C->D[HEAD, ORIGIN]
Run Code Online (Sandbox Code Playgroud)
我怎么去
A->B->C[HEAD,ORIGIN]
Run Code Online (Sandbox Code Playgroud)
谢谢.
我已经阅读了关于这个主题的类似帖子,并且不能为我的生活弄清楚如何正确地做到这一点.
我检查了大约1000个我不想要的文件,我宁愿不必通过1by1并将它们全部从回购中删除.
master
分支.master
分公司.他们都在同一修订版.
我想通过1次提交回滚我的遥控器.
说我的历史master
就是A--B--C--D--E
.
我想回滚我的本地D
.
然后将其推送到远程,这样我的当前哈希将是D远程和本地.
我这样做有问题.
我正在使用Git Tower,但我对命令行很满意.有帮助吗?
更新: 下面的好评.似乎部分不鼓励使用重置,特别是如果存储库与其他用户共享. 在不使用硬重置的情况下,撤消先前提交更改的最佳方法是什么?有办法吗?
我正在开展一个小组项目,我想从所有内存中删除一个文件。内容,文件名,一切!我不想在 Git 存储库上留下任何痕迹。我一直在尝试使用它来执行此操作,但我仍然可以使用它的“在历史记录中的此时浏览存储库”功能bfg
在 Github 页面上找到该文件。
git repo 的目录是.../electricity_profiles
,在该目录中有electricity_profiles/data
我想删除的文件(我已经尝试过)。从那时起,我已将其从当前提交中删除,但它是一些提交回来的。bfg --delete-files .~lock.smart_meter_data_overlap.csv#
commit 5c50c67d1be4e869bc75fb7d3916b9fc814b8106
我怎样才能删除这个文件曾经存在过的所有证据,即使是在 github 上,这样当其他人拉取该文件时他们就看不到它了?
我看过:
但还没弄清楚。
到目前为止完成的工作:(似乎有效)。
git clone --mirror https://github.com/oliversheridanmethven/electricity_profiles.git
bfg --delete-files .~lock.smart_meter_data_overlap.csv# electricity_profiles.git
Run Code Online (Sandbox Code Playgroud)
控制台输出:
Using repo : /home/user/Documents/InFoMM/case_studies/trial/electricity_profiles.git
Found 20 objects to protect
Found 2 commit-pointing refs : HEAD, refs/heads/master
Protected commits
-----------------
These are your protected commits, and so their contents will NOT be altered:
* commit …
Run Code Online (Sandbox Code Playgroud)