如何使用BFG清除HEAD中当前不存在的所有git历史记录和文件斑点

o

我想清除所有Blob和以前删除的文件的历史记录(即HEAD中不再存在),我目前正在运行以下命令,但是BFG似乎删除了所有Blob,包括HEAD中存在的那些Blob:

git log  # Returns 1050 commits
git commit -a -m "Clean the old history and blobs with BFG"
java -jar bfg.jar --delete-files '*'  # Delete all files not in HEAD
git log  # Still returns 1050 commits, all empty
git diff 5458b2^ 5458b2  # Returns 0 change, while it concerns a protected file

BFG实际上考虑了HEAD中受保护的文件,例如gitignore:

Protected commits
-----------------
These are your protected commits, and so their contents will NOT be altered:
 * commit 22a1ebd3 (protected by 'HEAD') - contains 1451 dirty files : 
    - .gitignore (813 B)
    - ...

但是无论如何,它们都会被删除,而应该受到保护:

Deleted files
-------------
    Filename     Git id  
    ----------------------------------------
    .gitignore | 091217cf (672 B), 17e3d7c5 (227 B)...                          
o

我最终使用该脚本从过时的已删除文件中清理存储库。它结合了分支重写和垃圾回收器调用的几个步骤,以清理当前存储库。

我设法在4MB的新存储库中压缩了700MB的大型仓库。与往常一样,在运行这种脚本之前,请复制存储库,这可能会导致数据丢失!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何清除git历史记录中的所有先前提交?

来自分类Dev

从所有git历史记录中删除文件

来自分类Dev

如何清除git历史记录?

来自分类Dev

在Windows文件历史记录中选择“除最新项目外的所有项目”,是否会删除不存在的文件?

来自分类Dev

使用BFG清理git历史记录

来自分类Dev

在Android Studio 4.1中使用Git时,如何显示所选文件的所有分支中的所有历史记录文件

来自分类Dev

如何在保留尽可能多的历史记录的同时从git的历史记录中清除单词?

来自分类Dev

如何在git中查找历史记录中包含提交的所有引用

来自分类Dev

git:历史记录中没有提交的文件,如何解释?

来自分类Dev

Git repo历史记录清理-逐步尝试了BFG-但是PR有更多差异-以及如何检查是否从历史记录中删除了密码

来自分类Dev

Visual Studio 2017无法查看所有git历史记录,只能查看当前分支

来自分类Dev

如何清除历史记录并从头开始运行所有迁移?

来自分类Dev

从git历史记录中删除所有忽略的文件,但从本地文件系统中删除

来自分类Dev

使用当前的.gitignore使Git重建历史记录

来自分类Dev

如何清除WKWebView中的历史记录?

来自分类Dev

如何清除Code First迁移中的历史记录?

来自分类Dev

如何清除RStudio中的R命令历史记录?

来自分类Dev

如何清除zsh中的历史记录

来自分类Dev

如何清除Code First迁移中的历史记录?

来自分类Dev

如何清除WKWebView中的历史记录?

来自分类Dev

如何在 jQuery 中清除 DatePicker 的历史记录

来自分类Dev

如何从vim中清除终端历史记录?

来自分类Dev

如何清除文件历史记录中的“备份这些文件夹”列表?

来自分类Dev

如何使用Java清除后退按钮历史记录?

来自分类Dev

如何使用JavaScript清除浏览历史记录?

来自分类Dev

如何使用RVM清除irb的历史记录

来自分类Dev

如何清除注销历史记录

来自分类Dev

如何清除终端历史记录?

来自分类Dev

如何清除密码历史记录?

Related 相关文章

  1. 1

    如何清除git历史记录中的所有先前提交?

  2. 2

    从所有git历史记录中删除文件

  3. 3

    如何清除git历史记录?

  4. 4

    在Windows文件历史记录中选择“除最新项目外的所有项目”,是否会删除不存在的文件?

  5. 5

    使用BFG清理git历史记录

  6. 6

    在Android Studio 4.1中使用Git时,如何显示所选文件的所有分支中的所有历史记录文件

  7. 7

    如何在保留尽可能多的历史记录的同时从git的历史记录中清除单词?

  8. 8

    如何在git中查找历史记录中包含提交的所有引用

  9. 9

    git:历史记录中没有提交的文件,如何解释?

  10. 10

    Git repo历史记录清理-逐步尝试了BFG-但是PR有更多差异-以及如何检查是否从历史记录中删除了密码

  11. 11

    Visual Studio 2017无法查看所有git历史记录,只能查看当前分支

  12. 12

    如何清除历史记录并从头开始运行所有迁移?

  13. 13

    从git历史记录中删除所有忽略的文件,但从本地文件系统中删除

  14. 14

    使用当前的.gitignore使Git重建历史记录

  15. 15

    如何清除WKWebView中的历史记录?

  16. 16

    如何清除Code First迁移中的历史记录?

  17. 17

    如何清除RStudio中的R命令历史记录?

  18. 18

    如何清除zsh中的历史记录

  19. 19

    如何清除Code First迁移中的历史记录?

  20. 20

    如何清除WKWebView中的历史记录?

  21. 21

    如何在 jQuery 中清除 DatePicker 的历史记录

  22. 22

    如何从vim中清除终端历史记录?

  23. 23

    如何清除文件历史记录中的“备份这些文件夹”列表?

  24. 24

    如何使用Java清除后退按钮历史记录?

  25. 25

    如何使用JavaScript清除浏览历史记录?

  26. 26

    如何使用RVM清除irb的历史记录

  27. 27

    如何清除注销历史记录

  28. 28

    如何清除终端历史记录?

  29. 29

    如何清除密码历史记录?

热门标签

归档