Gitコミットログの変更方法のまとめ

Gitコミットログの変更方法のまとめ

ケース1: 最後の提出とプッシュなし

次のコマンドを実行します。

git コミット --amend

git は $EDITOR エディタを開き、この送信のログを読み込んで編集できるようにします。編集後、保存して変更を完了します。

ケース2: 最後に送信され、サーバーにプッシュされる

次のコマンドを実行します。

git コミット --amend
git プッシュオリジンマスター --force

状況1と同じです。 push を使用してリモート サーバーにプッシュする場合は、サーバーが履歴を更新できるように --force を追加する必要があります。

変更されたログを強制的に Git サーバーにプッシュすると、他のユーザーが変更を加えた場合にローカル コピーが同期されなくなる可能性があるので、変更したユーザーに確認することをお勧めします。

ケース3: 古いコミットでプッシュされていない

コミットが最後から 3 番目のコミットであると仮定すると、これは git log を使用して表示できます。

$ git ログ
コミット b1b451d218cc23b6c769f373164f2b89cf54d0aa
著者: clcaza <[email protected]>
日付: 土 3月 10日 19:09:08 2018 +0800

コンテンツを追加

コミット 04f0d1809d5d31cc6e930efcba47a5f3f7e93319
著者: clcaza <[email protected]>
日付: 2018 年 3 月 10 日土曜日 19:08:24 +0800

コンテンツを追加

コミット 94fc8feb916442d56b558d5c370f18f057298921
著者: clcaza <[email protected]>
日付: 土 3月 10日 19:07:08 2018 +0800

コンテンツを追加

コミット fd517efa9faf6a5ec71d0eac38fbcfa0cd689f40
著者: clcaza <[email protected]>
日付: 2018 年 3 月 10 日土曜日 19:06:21 +0800

初期化

リベースを実行する

git リベース -i HEAD~3

次のように、最後の 3 つのコミットを表示するエディターが開きます。

94fc8fe を選択してコンテンツを追加
04f0d18 コンテンツを追加 cを選択
b1b451d を選択 コンテンツを追加

コミットの順序で表示されることがわかります。これは、git log が表示する順序とは逆になります。ログを編集する行を見つけて、選択を編集に変更し、保存します。

次はログの内容を変更します

git コミット --amend

ログの編集が完了したら、必ず以下を実行してください。

git リベース --continue

リベースの目的は、コミットの履歴を開いて、何を変更するかを選択できるようにすることです。 Git を使用すると、新しいブランチのコンテンツを変更できます。 git rebase --continue を使用すると、前のブランチに戻ることができます。

ケース4: 古い送信でサーバーにプッシュされている

ログを編集する前の操作はケース 3 と同じです。

git リベース -i HEAD~X
git コミット --amend
git リベース --continue

X は最後の提出を示します。

ログの編集が完了したら、push を実行します。

git プッシュオリジンマスター --force

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • ウィンドウは、定期的にgit更新(git pull)を実行し、実行中のcmdを非表示にするタスクプランを設定します。
  • git logは特定の条件に従ってログを照会し、変更されたコード行の数をカウントします。
  • IdeaでGitを使用するプロセス
  • idea git で複数のブランチを切り替えた後に Maven が有効にならない問題を解決する
  • Git commit --amend 送信情報の変更操作

<<:  Datagrip2020 が MySQL ドライバーのダウンロードに失敗する

>>:  MySQLデータベーストリガーの詳細な説明

推薦する

Dockerを使用してNextCloudネットワークディスクを展開する方法

NextCloud コンピュータ上の任意のファイルやフォルダを共有し、NextCloud サーバーと...

Reactでaxiosを使用してリクエストを送信する一般的な方法

目次Reactにaxios依存関係をインストールして導入するGETリクエストにaxiosを使用するa...

ウェブページ読み込み時に左右にジャンプする原因の分析と解決

最近、ウェブサイトを設計するときにこの問題に遭遇しています。メンバーセンターを設計し、コンテンツを ...

HTML 選択タグにおける単一選択と複数選択の詳細な説明

select 要素は、単一選択または複数選択のメニューを作成します。フォームが送信されると、ブラウザ...

Vue での bimface の使用に関する詳細

目次1. Vue スキャフォールディングをインストールする2. プロジェクトを作成する3.1 プロジ...

nginx と Tencent Cloud の無料証明書を使用して https を作成する方法

httpsを取得する方法を勉強しています。最近、Tencent Cloud が提供する無料の SSL...

ファイアウォールの iptables 戦略を使用して Linux サーバー上のポートを転送する方法

2つの異なるサーバー間の転送ポート転送を有効にするまず、デフォルトでは無効になっている IP 転送機...

JavaScriptコールバック関数の詳細な理解

目次序文クイックレビュー: JavaScript 関数関数とは何ですか?関数を宣言する関数の呼び出し...

MYSQL の 10 の典型的な最適化ケースとシナリオ

目次1. SQL最適化の一般的な手順1. SQL実行計画の分析を説明する2. プロフィール分析を表示...

CSS3は三角形の連続拡大効果を実現します

1. CSS3の三角形は特殊効果でズームし続けます11.1 画像プレビュー 11.2 index.h...

MySQL マスタースレーブレプリケーションプロセスの詳細な説明

1. マスタースレーブレプリケーションとは何ですか?マスター データベースの DDL および DML...

MySQL 5.7.21 履歴データディレクトリからデータを復元するチュートリアルの解凍バージョン

状況の説明: データベースが異常に起動およびシャットダウンしたため、サービスを再度起動したときに「起...

シンプルなjQuery + CSSを使用してカスタムタグタイトルツールチップを作成します

導入シンプルな jQuery + CSS を使用して、ブラウザのデフォルトの動作を置き換えるカスタム...

Vue ルーター vue-router 詳細説明ガイド

中国語ドキュメント: https://router.vuejs.org/zh/ Vue Router...

React NativeのScrollViewプルダウンリフレッシュ効果

この記事では、React Native ScrollViewのプルダウンリフレッシュ効果の具体的なコ...