昨天,我在GitHub上推送了ConnectBot的分支.我推了一次,意识到我没有按照我想要的方式进行更改,重新提交并再次推送.
现在,GitHub都提交了两个提交:
我的主分支只跟踪第二次提交,但第一次提交仍然可用,仍然在我的活动源中.如何删除它以确保没有人意外地提取该提交而不是更正的版本?
我修改了一次提交并且push --force每次都做了(愚蠢的错误;我没有意识到直到准备好发送一个PR,我的编辑器通过修复标签和尾随空格来产生大量的噪音).我认为不再存在的提交仍然可以在GitHub上访问,并且问题引用会导致出现这些不存在的提交的链接列表:

如何在GitHub遥控器上摆脱这些提交,以便这些额外的链接消失?
我们的一位开发人员签入(并推送)了一个安全文件.
我从历史记录中删除了该文件,然后执行了push -force,以便获取新的历史记录,现在不包含该文件.
但是,之前的孤立登记仍然在项目"活动"中被引用,如果我点击哈希,那么我仍然可以看到它签入和文件.
因为它不再被master/head引用,所以我认为这个孤儿checkin将在下次GitLab执行垃圾收集时消失.但我现在想要发生这种情况,因此无法再访问安全文件.
我怎么能强迫这种情况发生?
我正在开展一个小组项目,我想从所有内存中删除一个文件。内容,文件名,一切!我不想在 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)