[解決済み] Git の全履歴からある文字列を検索する [重複] 。
2022-03-19 16:51:35
質問
あるコードベースがあり、それをオープンソースとしてGitHubにプッシュしたいと思っています。この Git で管理されているソースツリーには、パスワードを含む設定ファイルがあります。このファイルを追跡しないようにし、また、このファイルを
.gitignore
ファイルを作成します。しかし、機密情報がプッシュされないことを絶対に確認したいのです。おそらく、コミット間に何かが滑り込んだりした場合でしょう。私がこのようなことをするほど不注意であったとは思えませんが、私は
ポジティブ
.
Git のすべてを "grep" する方法はありますか?奇妙に聞こえるかもしれませんが、"all" というのは、これまでに存在したすべてのファイルのすべてのバージョンという意味です。もし、すべてのコミットの差分ファイルをダンプするコマンドがあれば、それはうまくいくかもしれませんね。
解決方法は?
Gitは-Sオプションで差分を検索することができます(これはpickaxe ドキュメントにある )
git log -S password
これは、以下の文字列を追加または削除したすべてのコミットを検索します。
password
. ここではいくつかのオプションを紹介します。
-
-p
: は、差分を表示します。ファイルを指定すると (-p file
) を使えば、パッチを生成してくれます。 -
-G
とは異なり、追加または削除された行が与えられた正規表現にマッチする差分を探します。-S
は、"文字列のインスタンスを導入または削除する差分を検索します"。 -
--all
はすべてのブランチとタグを検索します。--branches[=<pattern>]
または--tags[=<pattern>]
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] Git ですべてのリモートブランチをクローンする方法
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】fatal: 有効なオブジェクト名ではない: 'master'
-
[解決済み】Gitのエラー。リモートリポジトリへの接続時に「Host Key Verification Failed」。
-
[解決済み】Gitマージで「すでに最新」と報告されるが、違いはある
-
[解決済み] git: fatal: リモートリポジトリから読み取れませんでした。
-
[解決済み] fatal: EOF が早い fatal: インデックスパックが失敗した
-
[解決済み] ブラウンアウトの一環として、パスワード認証が一時的に無効になっています。代わりに個人用アクセストークンを使用してください[重複]。
-
[解決済み] git リモートリポジトリには、ローカルブランチにマージされていないコミットが含まれています。
-
[解決済み] Gitのコミットの差分や内容を特定の単語でgrepする方法
-
[解決済み】Gitで単一ファイルの履歴から文字列を検索する方法
-
[解決済み] GitHubのコード検索で文字をエスケープするには?重複