git-filter-repo 用单个文件中的表达式替换文本

问题描述

基于 this,我尝试在 git 本地存储库上运行 git-filter-repo 以使用此替换 单个 docker-compose.yml 文件中的一些普通数据expressions.txt 文件

literal:DB_NAME=my_secret_database==>DB_NAME=${DB_NAME}
literal:DB_PASSWORT=my-secret-password==>DB_PASSWORT=${DB_PASSWORT}

并将其运行为:

$ git-filter-repo --path-glob 'docker-compose.yml' --replace-text expressions.txt --force

*免责声明关于--force的使用:https://htmlpreview.github.io/?https://github.com/newren/git-filter-repo/blob/docs/html/git-filter-repo.html#FRESHCLONE

生成的消息看起来不错:

Parsed 212 commits
New history written in 0.39 seconds; Now repacking/cleaning...
Repacking your repo and cleaning out old unneeded objects
HEAD is Now at f7544c8 Refactor docker-compose file # <-- this was definitely NOT my HEAD prior to that
Enumerating objects: 33,done.
Counting objects: 100% (33/33),done.
Delta compression using up to 4 threads
Compressing objects: 100% (20/20),done.
Writing objects: 100% (33/33),done.
Total 33 (delta 12),reused 33 (delta 12),pack-reused 0
Completely finished after 0.49 seconds.

但是,许多(很多!)文件从我的仓库中消失了,例如(非详尽的):

init.sh
.gitignore
.dockerignore
要求.txt
Dockerfile
Dockerfile.dev
...

而且我只剩下 11 个提交(最初是 /212),奇怪的是只有那些包括docker-compose.yml 文件修改,而且我只剩下两个分支,同样,只有包括 docker-compose.yml 的那些文件,所有其他人都消失了。我觉得我生活在一个错误的镜像世界...

我做错了什么/错过了什么?

如果有帮助:

$ git-filter-repo --version
10401e45d5f0

$ git --version
git version 2.30.0

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)