Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

GitHub

GitHubでPush後にコミットメッセージを変更したい

投稿日:2023年7月16日 更新日:

 

<目次>

(1) GitHubでPush後にコミットメッセージを変更したい
 (1-1) やりたいこと①:リモートリポジトリにPush後にコミットメッセージを変更したい
 (1-2) やりたいこと②:リモートリポジトリにPush&Pull RequestをMerge後にコミットメッセージを変更したい

(1) GitHubでPush後にコミットメッセージを変更したい

(1-1) やりたいこと①:リモートリポジトリにPush後にコミットメッセージを変更したい

(図100)↓ここを変更したい

●STEP0:前提の確認(サンプルデータ)

(図101)

●STEP1:コミット(Commit)の編集

> git commit --amend
・最後のコミットメッセージを表示した状態でエディタが起動する
・そこでコミットメッセージの編集が可能。
・「-m」オプションを使用すると古いメッセージを取り下げして、新しいメッセージを使える
(図111)
・エディタが起動する
(図112)
・「i」押下するとメッセージを編集できる
(図113)
・メッセージを修正して「Esc」押下
(図114)
・「:wq」と入力(保存して終了)
(図115)
・メッセージ修正完了
(図116)
・git logで確認
(図117)

●STEP2:プル(Pull)→プッシュ(Push)の再実行

・①プル(Pull)
→リモートとの差分をローカルに反映

(構文)
> git pull [リモート名] [ブランチ名]
(例)
> git pull https://github.com/Rainbow-Engine/TempRepo2.git 0001-test-branch
(図121)
・git logで確認
→amend前の「bbbbb」のメッセージの履歴が取得される
(図122)

・②プッシュ(Push)
→ローカルの修正(コミットメッセージの修正)をリモートに反映
 
(構文)
> git push [リポジトリ名] [ブランチ名]
(例)
> git push https://github.com/Rainbow-Engine/TempRepo2.git 0001-test-branch
(図131)
・リモートにも反映された
(図132)
・リモートにも反映された
(図133)

●STEP3:(影響を受ける方)変更をプル(Pull)する方法

上記のプッシュにより影響を受ける他の開発者は、以下を実施する必要がある。
> git fetch origin
> git reset --hard origin/master # ローカルのコミットは消失する
 
→「reset –hard」は既にブランチに対して行った修正が消失するため、要注意(取り込むなら、それを理解して受け入れたうえで)
 
(注意事項)
・もし誰かが同じBranchに変更をPushしていた場合、競合する恐れがある
・それを防ぐため「–force-with-lease」オプションを指定する
・「–force-with-lease」は既に別の変更があった場合に、こちらの変更をAbord(中断)させる
・ブランチは「必ず指定」すること
・明示的にブランチを指定しない場合、GitはデフォルトのPush設定を使用する。
・デフォルトのPush設定が「matching」の場合、複数のBranchに意図しない影響が出る恐れがある

(1-2) やりたいこと②:リモートリポジトリにPush&Pull RequestをMerge後にコミットメッセージを変更したい

(図200)↓ここを変更したい

●STEP0:前提の確認(サンプルデータ)

(図201)

以下で紹介するのは、ややアナログなやり方です(もっと良い方法あれば教えてください)。

具体的には「リモート側でプルリクエストをRevert(取り消し)」したのち、その取り消しを「ローカル側にPull」する事で、一旦Commit~Push~Mergeをする前の状態に戻すやり方です。
 

●STEP1:プルリクエストを「Revert」

(図211)
・「Create pull Request」(Revert=取り消しのプルリクエスト)
(図212)
・「Merge pull request」(Revert=取り消しのプルリクエストをマージ)
(図213)
・「Confirm」
(図214)
・取り消し成功
(図215)
・ローカル側でPull
(図216)
これで一旦Commit~Push~Mergeをする前の状態に戻せました。
後はCommit~Push~Mergeの流れを再度実行する必要があります。

Adsense審査用広告コード


Adsense審査用広告コード


-GitHub
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

GitHubのWebAPIをコールしてユーザー情報を取得するサンプルプログラムの解説+エラー対応も2例紹介

(0)目次&概説 (1) 目的  (1-1) 記事の目的 (2) APIの概要  (2-1) APIとは?  (2-2) Web APIとは?  (2-3) Web APIの様々な呼び方   (2-3 …

GitHubで「remote: Permission to XXXX denied to XXXX.」エラーが出る原因と対処

  <目次> (1) GitHubで「remote: Permission to XXXX denied to XXXX.」エラーが出る原因と対処  (1-1) エラー事象1:Support …

Visual StudioとGitHubを連携させる方法(VSのプロジェクトをGit Hubに新規登録)

  <目次> (1) Visual StudioとGitHubを連携させる方法(VSのプロジェクトをGit Hubに新規登録)  (1-1) はじめに  (1-2) Visual Studi …

GitHubのプルリクエスト(Pull Request)とは?開発者とレビュー者の双方の操作手順をご紹介

  <目次> (1) GitHubのプルリクエスト(Pull Request)とは?開発者とレビュー者の双方の操作手順をご紹介  (1-1) はじめに:プルリクエスト(Pull Reques …

GitHubにEclipseの既存プロジェクトを登録(コミット+プッシュ)する手順

  <目次> (1) GitHubにEclipseの既存プロジェクトを登録(コミット+プッシュ)する手順  (1-1) STEP0:前提条件  (1-2) STEP1:Javaプロジェクトを …

  • English (United States)
  • 日本語
Top