セットアップと設定
プロジェクトの取得と作成
基本的なスナップショット作成
ブランチとマージ
プロジェクトの共有と更新
検査と比較
パッチ適用
デバッグ
メール
外部システム
サーバー管理
ガイド
- gitattributes
- コマンドラインインターフェースの慣例
- 日々のGit
- よくある質問 (FAQ)
- 用語集
- Hooks
- gitignore
- gitmodules
- リビジョン
- サブモジュール
- チュートリアル
- ワークフロー
- すべてのガイド...
管理
配管コマンド (Plumbing Commands)
- 2.45.1 → 2.49.0 変更なし
-
2.45.0
2024-04-29
- 2.39.1 → 2.44.3 変更なし
-
2.39.0
2022-12-12
- 2.37.4 → 2.38.5 変更なし
-
2.37.3
2022-08-30
- 2.35.1 → 2.37.2 変更なし
-
2.35.0
2022-01-24
- 2.20.1 → 2.34.8 変更なし
-
2.20.0
2018-12-09
- 2.17.0 → 2.19.6 変更なし
-
2.16.6
2019-12-06
- 2.7.6 → 2.15.4 変更なし
-
2.6.7
2017-05-05
- 2.5.6 変更なし
-
2.4.12
2017-05-05
- 2.1.4 → 2.3.10 変更なし
-
2.0.5
2014-12-17
概要
git reflog [show] [<log-options>] [<ref>] git reflog list git reflog expire [--expire=<time>] [--expire-unreachable=<time>] [--rewrite] [--updateref] [--stale-fix] [--dry-run | -n] [--verbose] [--all [--single-worktree] | <refs>…] git reflog delete [--rewrite] [--updateref] [--dry-run | -n] [--verbose] <ref>@{<specifier>}… git reflog exists <ref>
説明
このコマンドは、reflog に記録された情報を管理します。
リファレンスログ、または「reflog」は、ブランチやその他のリファレンスの先端がローカルリポジトリでいつ更新されたかを記録します。reflogは、様々なGitコマンドで、リファレンスの古い値を指定するのに役立ちます。例えば、HEAD@{2}
は「HEADが2つ前まであった場所」を意味し、master@{one.week.ago}
は「masterがこのローカルリポジトリで1週間前まで指していた場所」などを意味します。詳細はgitrevisions[7]を参照してください。
このコマンドは様々なサブコマンドを取り、サブコマンドによって異なるオプションをとります。
"show" サブコマンド(サブコマンドがない場合のデフォルトでもある)は、コマンドラインで指定されたリファレンス(またはデフォルトでHEAD
)のログを表示します。reflogは最近のすべてのアクションを網羅し、さらにHEAD
reflogはブランチの切り替えを記録します。git reflog show
はgit log -g --abbrev-commit --pretty=oneline
のエイリアスです。詳細はgit-log[1]を参照してください。
"list" サブコマンドは、対応するreflogを持つすべてのrefをリストします。
"expire" サブコマンドは、古いreflogエントリを削除します。expire
時間よりも古いエントリ、またはexpire-unreachable
時間よりも古く、かつ現在の先端から到達できないエントリは、reflogから削除されます。これは通常、エンドユーザーが直接使用するものではありません。代わりにgit-gc[1]を参照してください。
"delete" サブコマンドは、reflogから個々のエントリを削除します。その引数は正確なエントリ(例: "git reflog delete master@{2}
")でなければなりません。このサブコマンドも通常、エンドユーザーが直接使用するものではありません。
"exists" サブコマンドは、refにreflogがあるかどうかをチェックします。reflogが存在すればステータスゼロで、存在しなければ非ゼロで終了します。
オプション
expire
のオプション
- --all
-
すべてのリファレンスのreflogを処理します。
- --single-worktree
-
デフォルトでは、
--all
が指定されると、すべての作業ツリーのreflogが処理されます。このオプションは、現在の作業ツリーのreflogのみに処理を限定します。 - --expire=<time>
-
指定された時間より古いエントリを削除します。このオプションが指定されていない場合、有効期限は設定
gc.reflogExpire
から取得され、これはデフォルトで90日です。--expire=all
は、エントリの経過時間に関係なく削除します。--expire=never
は、到達可能なエントリの削除をオフにします(ただし、--expire-unreachable
も参照してください)。 - --expire-unreachable=<time>
-
ブランチの現在の先端から到達できない、
<time>
より古いエントリを削除します。このオプションが指定されていない場合、有効期限は設定gc.reflogExpireUnreachable
から取得され、これはデフォルトで30日です。--expire-unreachable=all
は、到達不能なエントリの経過時間に関係なく削除します。--expire-unreachable=never
は、到達不能なエントリの早期削除をオフにします(ただし、--expire
も参照してください)。 - --updateref
-
以前のトップエントリが削除された場合、リファレンスをトップのreflogエントリの値(つまり<ref>@{0})に更新します。(このオプションはシンボリックリファレンスには無視されます。)
- --rewrite
-
reflogエントリの先行エントリが削除された場合、その「古い」SHA-1を、現在先行しているエントリの「新しい」SHA-1フィールドと同じになるように調整します。
- --stale-fix
-
"壊れたコミット" を指すreflogエントリを削除します。壊れたコミットとは、どの参照の先端からも到達できず、直接的または間接的に、欠落したコミット、ツリー、またはブロブオブジェクトを参照するコミットです。
この計算は、到達可能なすべてのオブジェクトを走査することを伴い、つまりgit pruneと同じコストがかかります。これは主に、reflogが参照するオブジェクトを保護しなかった古いバージョンのGitを使用してガベージコレクションを行ったことによる破損を修正することを目的としています。
- -n
- --dry-run
-
実際にはエントリを削除せず、削除されるであろうものだけを表示します。
- --verbose
-
追加情報を画面に表示します。
GIT
git[1] スイートの一部