1

秘密の API トークンといくつかのエンドポイントを含む履歴のファイルから数行を削除しようとしていました。これらのエンドポイントは、そこにハードコーディングするよりも環境変数として渡される方がはるかに優れているため、いつかレポを公開すると、それらは存在しなくなります。無邪気な目。

この目的のために、BFG リポジトリ クリーナーという素晴らしいツールを使用しました。これは、過去に git 履歴から残りの機密ファイル全体を削除するためにも使用していました。今回は、次の手順に従ってテキストを置き換えます。

$ java -jar ~/bfg.jar --replace-text tokens.txt myRepo.git

しかし、出力では、これが現れました:

...
* commit 10134503 (protected by 'HEAD') - contains 1 dirty file :
- app.py (640 B)
...
If you *really* want this content gone, make a manual commit that removes it,
and then run the BFG on a fresh copy of your repo.

だから私はそれを正確に行い、全体を複​​製し、os.environ[]Pythonでの2回の呼び出しで必要だった2行を置き換えてコミットし、それをプッシュしました。その後、BFG を再度実行したところ、git reflogすべてがうまく機能しているように見えました。

私はgitlabのコミットブラウザをチェックインしましたが、テキストは***REMOVED***どこにでもありましたが、最後から2番目のコミットで、これが起こりました:

画像

ファイルが次のコミット(現在は「HEAD」で保護されているもの)で編集され、GITがこれらのトークンを必要として、これらの2行を取り除くために行った変更を再作成するために発生したと思います。しかし、どうすればこれを達成できますか?

4

1 に答える 1