通过删除除“ foo”和“ bar”以外的所有文件来重写git存储库历史记录

约克

我想删除git存储库历史记录中既不是“ foo”也不是“ bar”的所有文件。鉴于此功能rm -rf !(foo|bar)可删除当前目录中既不是“ foo”也不是“ bar”的文件。我提出了以下想法:

$ git filter-branch --tree-filter 'rm -rf !(foo|bar)' --prune-empty HEAD

但是,这产生了以下错误,我真的不明白为什么它不起作用。

Rewrite 75c1ec1ef083338ca2e88db9cc6107c1630d91e9 (1/871)~/libexec/git-core/git-filter-branch: 1: eval: Syntax error: "(" unexpected

米恰

参见https://stackoverflow.com/a/19957874/1870481

无论使用

--tree-filter 'bash preserve-only.sh foo bar'

preserve-only.sh存在

IFS=':'
GLOBIGNORE="$*"
rm -rf *

或使用

--index-filter \
'git rm --cached -r -q -- . ; git reset -q $GIT_COMMIT -- foo bar' \
 --prune-empty

最后一个特别好。Juste删除所有内容并恢复您想要的内容。:)

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

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

来自分类Dev

git:从所有历史记录中删除文件和目录,但保留所有分支(不仅仅是主分支)

来自分类Dev

有什么办法可以恢复已被代码删除的GitHub存储库和本地保存的提交历史记录?

来自分类Dev

递归删除所有“ * .foo”文件和相应的“ * .bar”文件

来自分类Dev

从庞大的Git存储库中删除历史记录

来自分类Dev

从git存储库中完全删除文件及其历史记录

来自分类Dev

从git历史记录中删除文件夹以减小存储库大小

来自分类Dev

Firefox:删除包含 /foo/ 的历史记录

来自分类Dev

将存储库A中的提交复制到存储库B中,删除B中的所有文件,但保留历史记录吗?

来自分类Dev

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

来自分类Dev

如何重写git历史记录以删除对文件的修改

来自分类Dev

仅从单个分支而不是整个存储库中删除文件的历史记录

来自分类Dev

如何从历史记录中删除存储库中不再存在的文件的提交

来自分类Dev

仅从单个分支而不是整个存储库中删除文件的历史记录

来自分类Dev

git read-tree删除了所有历史记录

来自分类Dev

Perforce删除所有历史记录

来自分类Dev

Perforce删除所有历史记录

来自分类Dev

从Git历史记录中删除大文件

来自分类Dev

Git-从分支的历史记录中删除文件

来自分类Dev

从 git 历史记录中删除文件的某些内容

来自分类Dev

缺少删除文件历史记录中的行 (git)

来自分类Dev

从 git 历史记录中永久删除文件

来自分类Dev

从URL和历史记录中删除锚点

来自分类Dev

如何删除文件夹及其所有历史记录

来自分类Dev

通过整个git历史记录更改文件中的字符串,filter-branch不会重写文件

来自分类Dev

具有相同历史记录的git和Mercurial存储库中的提交会具有相同的哈希值吗?

来自分类Dev

清除已删除文件的git历史记录,保留重命名的文件历史记录

来自分类Dev

清除已删除文件的git历史记录,保留重命名的文件历史记录

来自分类Dev

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

Related 相关文章

  1. 1

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

  2. 2

    git:从所有历史记录中删除文件和目录,但保留所有分支(不仅仅是主分支)

  3. 3

    有什么办法可以恢复已被代码删除的GitHub存储库和本地保存的提交历史记录?

  4. 4

    递归删除所有“ * .foo”文件和相应的“ * .bar”文件

  5. 5

    从庞大的Git存储库中删除历史记录

  6. 6

    从git存储库中完全删除文件及其历史记录

  7. 7

    从git历史记录中删除文件夹以减小存储库大小

  8. 8

    Firefox:删除包含 /foo/ 的历史记录

  9. 9

    将存储库A中的提交复制到存储库B中,删除B中的所有文件,但保留历史记录吗?

  10. 10

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

  11. 11

    如何重写git历史记录以删除对文件的修改

  12. 12

    仅从单个分支而不是整个存储库中删除文件的历史记录

  13. 13

    如何从历史记录中删除存储库中不再存在的文件的提交

  14. 14

    仅从单个分支而不是整个存储库中删除文件的历史记录

  15. 15

    git read-tree删除了所有历史记录

  16. 16

    Perforce删除所有历史记录

  17. 17

    Perforce删除所有历史记录

  18. 18

    从Git历史记录中删除大文件

  19. 19

    Git-从分支的历史记录中删除文件

  20. 20

    从 git 历史记录中删除文件的某些内容

  21. 21

    缺少删除文件历史记录中的行 (git)

  22. 22

    从 git 历史记录中永久删除文件

  23. 23

    从URL和历史记录中删除锚点

  24. 24

    如何删除文件夹及其所有历史记录

  25. 25

    通过整个git历史记录更改文件中的字符串,filter-branch不会重写文件

  26. 26

    具有相同历史记录的git和Mercurial存储库中的提交会具有相同的哈希值吗?

  27. 27

    清除已删除文件的git历史记录,保留重命名的文件历史记录

  28. 28

    清除已删除文件的git历史记录,保留重命名的文件历史记录

  29. 29

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

热门标签

归档