[解決済み】コミットメッセージでGitリポジトリを検索する方法とは?
2022-03-23 18:45:39
質問
あるソースコードをコミットメッセージ "Build 0051" とともにGITにチェックインしました。
しかし、そのソースコードがもう見つからないようです。GITリポジトリからコマンドラインを使って、このソースを抽出するにはどうしたらよいでしょうか?
更新情報
- バージョン0043、0044、0045、0046でSmartGITを使用して確認しました。
- 0043 をチェックアウトし、0051 までのバージョンを別のブランチでチェックインしました。
- 再度0043をチェックアウト。
- 現在、0051は消滅しています。
更新情報
ソースコードは間違いなく存在します、あとはチェックするだけです。
C:\Source>git log -g --grep="0052"
commit 77b1f718d19e5cf46e2fab8405a9a0859c9c2889
Reflog: HEAD@{10} (unknown <Mike@.(none)>)
Reflog message: commit: 20110819 - 1724 - GL: Intermediate version. File version: v0.5.0 build 0052.
Author: unknown <Mike@.(none)>
Date: Fri Aug 19 17:24:51 2011 +0100
20110819 - 1724 - GL: Intermediate version. File version: v0.5.0 build 0052.
C:\Source>
解決方法は?
与えられたテキストについて、(すべてのブランチにわたる)コミットログを検索するには。
git log --all --grep='Build 0051'
レポの履歴から実際のコミットの内容を検索するには、以下を使用します。
git grep 'Build 0051' $(git rev-list --all)
で、与えられたテキスト、含むファイル名、コミット sha1 のすべてのインスタンスを表示します。
最後に、コミットがぶらぶらしていて履歴にまったくつながっていない場合の最後の手段として、reflog 自体を検索することができます。
-g
フラグを使用します。
--walk-reflogs
:
git log -g --grep='Build 0051'
EDIT: もし、履歴が消えてしまったようであれば、次のように確認してください。
reflog
をセーフティネットとして使用します。がリストアップしたコミットの中からBuild 0051を探します。
git reflog
を単純に設定しただけかもしれません。
HEAD
を、'Build 0051' コミットが見えないような履歴の部分に移動させるか、あるいは実際にそれを吹き飛ばしたかもしれません。その
git-ready reflog
の記事が参考になるかもしれません。
reflogからコミットを復元するには : 見つけたコミットを git checkout してください (オプションで、参照用に新しいブランチやタグを作成することもできます)。
git checkout 77b1f718d19e5cf46e2fab8405a9a0859c9c2889
# alternative, using reflog (see git-ready link provided)
# git checkout HEAD@{10}
git checkout -b build_0051 # make a new branch with the build_0051 as the tip
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] 既存の、プッシュされていないコミットメッセージを修正するには?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] Git リポジトリでのマージの衝突を解決するには?
-
[解決済み] Git で最新のコミットを新しいブランチに移動する
-
[解決済み】ローカルの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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 現在のブランチのトラッキング情報がありません。
-
[解決済み] git pull リモートブランチがリモートの参照先を見つけることができない
-
[解決済み】以下の追跡されていないワーキングツリーファイルは、マージによって上書きされますが、私は気にしません。
-
[解決済み】Git サブモジュール head 'reference is not a tree' エラー
-
[解決済み] 短いGitバージョンのハッシュを取得する
-
[解決済み] fatal: bad revision "とはどういう意味ですか?
-
[解決済み] Gitのコミットの差分や内容を特定の単語でgrepする方法
-
[解決済み] コマンドラインを使用してコミットメッセージを検索するには?重複
-
[解決済み】リポジトリ内のすべてのGitとMercurialのコミットで、特定の文字列を検索するには?
-
[解決済み】GitHubでコミットメッセージを検索する方法は?