セットアップと設定
プロジェクトの取得と作成
基本的なスナップショット
ブランチとマージ
プロジェクトの共有と更新
検査と比較
パッチ
デバッグ
メール
外部システム
サーバー管理
ガイド
- gitattributes
- コマンドラインインターフェースの規約
- 日常的なGit
- よくある質問(FAQ)
- 用語集
- フック
- gitignore
- gitmodules
- リビジョン
- サブモジュール
- チュートリアル
- ワークフロー
- すべてのガイド...
管理
低レベルコマンド
- 2.44.1 → 2.47.0 変更なし
-
2.44.0
02/23/24
- 2.43.1 → 2.43.5 変更なし
-
2.43.0
11/20/23
- 2.39.1 → 2.42.3 変更なし
-
2.39.0
12/12/22
- 2.38.1 → 2.38.5 変更なし
-
2.38.0
10/02/22
- 2.37.1 → 2.37.7 変更なし
-
2.37.0
06/27/22
- 2.30.1 → 2.36.6 変更なし
-
2.30.0
12/27/20
- 2.27.1 → 2.29.3 変更なし
-
2.27.0
06/01/20
- 2.23.1 → 2.26.3 変更なし
-
2.23.0
08/16/19
- 2.22.1 → 2.22.5 変更なし
-
2.22.0
06/07/19
- 2.10.5 → 2.21.4 変更なし
-
2.9.5
07/30/17
- 2.8.6 変更なし
-
2.7.6
07/30/17
-
2.6.7
05/05/17
- 2.1.4 → 2.5.6 変更なし
-
2.0.5
12/17/14
概要
git revert [--[no-]edit] [-n] [-m <parent-number>] [-s] [-S[<keyid>]] <commit>… git revert (--continue | --skip | --abort | --quit)
説明
既存の1つ以上のコミットが与えられた場合、関連するパッチによって導入された変更を巻き戻し、それらを記録する新しいコミットを記録します。 これには、作業ツリーがクリーンである必要があります(HEADコミットからの変更がないこと)。
注:git revert は、以前のコミット(多くの場合、 fehlerhaft なコミットのみ)の影響を逆にするために、いくつかの新しいコミットを記録するために使用されます。 作業ディレクトリのコミットされていないすべての変更を破棄したい場合は、git-reset[1]、特に --hard
オプションを参照してください。 別のコミットにあった特定のファイルを抽出したい場合は、git-restore[1]、特に --source
オプションを参照してください。 これらの代替手段はどちらも作業ディレクトリのコミットされていない変更を破棄するため、注意してください。
3つのコマンドの違いについては、git[1]の「リセット、復元、および巻き戻し」を参照してください。
オプション
- <コミット>…
-
巻き戻すコミット。 コミット名を指定する方法のより完全なリストについては、gitrevisions[7]を参照してください。 コミットのセットを指定することもできますが、デフォルトではトラバーサルは行われません。git-rev-list[1]とその
--no-walk
オプションを参照してください。 - -e
- --edit
-
このオプションを使用すると、_git revert_ は、巻き戻しをコミットする前にコミットメッセージを編集できます。 ターミナルからコマンドを実行する場合、これがデフォルトです。
- -m 親番号
- --mainline 親番号
-
通常、マージのどちら側をメインラインと見なすかわからないため、マージを巻き戻すことはできません。 このオプションは、メインラインの親番号(1から始まる)を指定し、指定された親に対する変更を反転するように巻き戻すことができます。
マージコミットを巻き戻すと、マージによって導入されたツリーの変更を二度と望まないことを宣言します。 その結果、後続のマージでは、以前に巻き戻されたマージの祖先ではないコミットによって導入されたツリーの変更のみが取り込まれます。 これはあなたが望むものかもしれませんし、そうでないかもしれません。
詳細については、 fehlerhaft なマージを元に戻す方法を参照してください。
- --no-edit
-
このオプションを使用すると、_git revert_ はコミットメッセージエディターを起動しません。
- --cleanup=<モード>
-
このオプションは、コミットメッセージがコミット機構に渡される前にどのようにクリーンアップされるかを決定します。 詳細については、git-commit[1]を参照してください。 特に、_<モード>_ に `scissors` の値が指定されている場合、競合が発生した場合にコミット機構に渡される前に `MERGE_MSG` に scissors が追加されます。
- -n
- --no-commit
-
通常、コマンドは、どのコミットが巻き戻されたかを示すコミットログメッセージを含むコミットを自動的に作成します。 このフラグは、指定されたコミットをワーキングツリーとインデックスに巻き戻すために必要な変更を適用しますが、コミットは行いません。 さらに、このオプションを使用する場合、インデックスはHEADコミットと一致する必要はありません。 巻き戻しは、インデックスの開始状態に対して行われます。
これは、複数のコミットの効果をインデックスに連続して巻き戻す場合に役立ちます。
- -S[<keyid>]
- --gpg-sign[=<keyid>]
- --no-gpg-sign
-
コミットにGPG署名します。 `keyid` 引数はオプションで、デフォルトはコミッターIDです。 指定する場合は、スペースなしでオプションに付ける必要があります。 `--no-gpg-sign` は、`commit.gpgSign` 設定変数と、以前の `--gpg-sign` の両方を無効にするために役立ちます。
- -s
- --signoff
-
コミットメッセージの最後に `Signed-off-by` トレーラーを追加します。 詳細については、git-commit[1]のsignoffオプションを参照してください。
- --strategy=<strategy>
-
指定されたマージ戦略を使用します。 1回だけ使用する必要があります。 詳細については、git-merge[1]のMERGE STRATEGIESセクションを参照してください。
- -X<option>
- --strategy-option=<option>
-
マージ戦略固有のオプションをマージ戦略に渡します。 詳細については、git-merge[1]を参照してください。
- --rerere-autoupdate
- --no-rerere-autoupdate
-
rerereメカニズムが記録された解決策を現在の競合に再利用して作業ツリー内のファイルを更新した後、解決の結果でインデックスも更新できるようにします。 `--no-rerere-autoupdate` は、`rerere` が何をしたかを二重チェックし、潜在的な誤マージをキャッチしてから、別の `git add` で結果をインデックスにコミットするための良い方法です。
- --reference
-
ログメッセージの本文を "This reverts <巻き戻されるコミットの完全なオブジェクト名>。" で始める代わりに、 "--pretty=reference" 形式(git-log[1]を参照)を使用してコミットを参照します。 `revert.reference` 設定変数を使用して、このオプションをデフォルトで有効にすることができます。
議論
gitは基本的なコミットメッセージを自動的に作成しますが、元のコミットが巻き戻される理由を説明することを_強く_お勧めします。 さらに、巻き戻しを繰り返し巻き戻すと、件名がますます扱いにくくなります。たとえば、_Reapply "Reapply "<元の件名>""_ などです。 これらをより短く、よりユニークなものに言い換えることを検討してください。
設定
このセクションのこの行より下のすべては、git-config[1]ドキュメントから選択的に含まれています。 コンテンツは、そこで見つかったものと同じです
GIT
git[1]スイートの一部