重写git历史记录,替换每个文件中的单词

米维克林

我想用git-filter-branch重写存储库的git历史记录,以在所有文件中将所有出现的“ foo.bar”替换为“ bar.foo”。

我该如何实现?

更新:
我正在使用--tree-filter参数,并且已经可以用以下命令替换指定文件中的单词:

git filter-branch -f --tree-filter '
    if [ -f testfile ]
    then
        sed -i s/foo.bar/bar.foo/g testfile
    fi ' -- --all

这似乎是我所能达到的最接近的目标。

星期二

树过滤器在要过滤的每一棵树上运行,一次一棵树。

就其效果而言,您可以想象它已经完成:

git checkout <rev>

这样工作目录现在包含与给定修订版关联的树。(实际上,它确实将每个修订都签入了一个临时目录,这就是为什么它这么慢的原因。另请参见-d标志。)如果要对树中的每个文件进行更改,则可以执行以下操作:

find . -type f -print | xargs sed -i '' -e 's/foo\.bar/bar.foo/g'

特别件事--tree-filter是,它会自动执行任何所需的git add和/或git rm(因此-i ''-i .bakgit add所有的.bak文件)。

(请记住,--tag-name-filter如果您有标签,请使用该标签,并注意在带注释的标签上删除签名。)

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

重写git历史记录,替换每个文件中的单词

来自分类Dev

根据.mailmap文件重写git历史记录

来自分类Dev

如何在Git历史记录中替换单词并正确调试相关问题?

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

在Git中还原移动文件的历史记录

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

遍历EOD .csv以创建每个文件中历史记录高低运行的历史记录

来自分类Dev

“ git squash”(推送后)是否重写历史记录?

来自分类Dev

使用rebase重写Git历史记录

来自分类Dev

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

来自分类Dev

重写git历史记录以将仓库存储在新的顶级目录中

来自分类Dev

如何在Mercurial中批量重写历史记录

来自分类Dev

Git从合并和历史记录中排除文件

来自分类Dev

在git上重命名文件并保留历史记录

来自分类Dev

使用Git强制文件历史记录关联

来自分类Dev

git在保持历史记录的同时移动文件

来自分类Dev

仅提取Git文件历史记录的“年范围”

来自分类Dev

VS Code'git mv'保留文件历史记录?

来自分类Dev

GIT重命名文件夹历史记录

来自分类Dev

Git从合并和历史记录中排除文件

来自分类Dev

在 git 历史记录中移动文件

来自分类Dev

Git:如何下载单个文件的整个历史记录?

来自分类Dev

Git:从历史记录中删除文件,这些文件的名称类似于CLI选项

Related 相关文章

  1. 1

    重写git历史记录,替换每个文件中的单词

  2. 2

    根据.mailmap文件重写git历史记录

  3. 3

    如何在Git历史记录中替换单词并正确调试相关问题?

  4. 4

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

  5. 5

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

  6. 6

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

  7. 7

    在Git中还原移动文件的历史记录

  8. 8

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

  9. 9

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

  10. 10

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

  11. 11

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

  12. 12

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

  13. 13

    遍历EOD .csv以创建每个文件中历史记录高低运行的历史记录

  14. 14

    “ git squash”(推送后)是否重写历史记录?

  15. 15

    使用rebase重写Git历史记录

  16. 16

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

  17. 17

    重写git历史记录以将仓库存储在新的顶级目录中

  18. 18

    如何在Mercurial中批量重写历史记录

  19. 19

    Git从合并和历史记录中排除文件

  20. 20

    在git上重命名文件并保留历史记录

  21. 21

    使用Git强制文件历史记录关联

  22. 22

    git在保持历史记录的同时移动文件

  23. 23

    仅提取Git文件历史记录的“年范围”

  24. 24

    VS Code'git mv'保留文件历史记录?

  25. 25

    GIT重命名文件夹历史记录

  26. 26

    Git从合并和历史记录中排除文件

  27. 27

    在 git 历史记录中移动文件

  28. 28

    Git:如何下载单个文件的整个历史记录?

  29. 29

    Git:从历史记录中删除文件,这些文件的名称类似于CLI选项

热门标签

归档