GitHubでのgit commitメッセージの編集


173

送信GitHub.com後、でコミットメッセージをオンラインで編集する方法はありますか?

コマンドラインから、

git commit --amend -m "New commit message"

別の質問で正しく示唆されているように。

試してみましたがgit pull、動作しgit pushました(他のコミットがその間に干渉することはありません)。

しかし、それはGitHubウェブサイトを介して行うことができますか?


承認されていませんが、@ DanGreen-Leipcigerの回答をご覧ください。
RBT

回答:


101

いいえ、これは直接可能ではありません。すべてのGitコミットのハッシュも、コミットメッセージに基づいて計算されます。コミットメッセージを変更すると、コミットハッシュも変更されます。そのコミットをプッシュしたい場合は、そのプッシュを強制する必要があります(git push -f)。しかし、すでに誰かが古いコミットをプルし、そのコミットに基づいて作業を開始した場合、彼は自分の作業を新しいコミットにリベースする必要があります。


git pullを実行してからgit pushを実行することもできました。しかし、どうやらオンラインの方法はありません。
PNS 2012年

2016年4月5日現在、まだ不可能
bigT

すでに公開されているブランチのコミット履歴を変更することになるので、優先度は高くないでしょう(絶対に変更しないでください(200%確信している場合を除き、他の誰もこのブランチを自分のローカルマシンに持っていないことを確認してください)。
dunni

これは半分しか真実ではありません。それは本当ですが、前提がある場合のみです。@DanGreen(以下)のそれと組み合わせると、答えはより良くなります。これは「直接可能」ではなく、確かに事前警告が付いています(つまり、「これを行うことは「絶対にしないでください」... [本当にしたい場合を除きます]))。ただし、これは単に技術的に可能な場合、可能な答えは不完全です。
ベイン

1
OPは、Github Webサイトでオンラインで実行できるかどうか尋ねました。私の知る限り、これはまだ不可能です。したがって、私の答えは有効です。DanGreenの答えは、Githubs Webサイトではなく、ローカルで行う方法のみを処理します。
dunni 2018年

145

これを行うためのGitHubの指示:

  1. コマンドラインで、修正するコミットが含まれているリポジトリに移動します。
  2. 入力しgit commit --amend、Enterキーを押します。
  3. テキストエディタで、コミットメッセージを編集してコミットを保存します。
  4. git push --force example-branchコマンドを使用して、古いコミットを強制的に上書きします。

ソース:https : //help.github.com/articles/changing-a-commit-message/


11
注意してください!<git commit --amend>&<Enter>と<git commit --amend -m "new commit message">の使用の違いは、最初のケースではテキストエディターでコミットメッセージを編集していることです& 2番目に、「新しいコミットメッセージ」に置き換えます。プッシュを強制すると、リモートのコミットが置き換えられます。これは、チームの他のユーザーが以前のコミットをプルした場合に、異なるマシン上に異なる履歴(異なるコミットを含む)があるという問題を解決しません。誰もあなたのコミットを引っ張っていないことを知っているなら、これは安全です。Danが投稿したソースを読む
TMin

7
git commit --amend常に存在してきました。また、git(オープンソースのコマンドラインツール)とGithub(オンラインソースのホスティングを提供する会社)との間で混乱が生じています。
Vinyll

1
OPはGitHubについて、特にコミットがサーバーにプッシュされた後について尋ねました。これらは、OPが要求したことを実行するためのGitHubの指示です。
Dan Green-Leipciger 2017

3
@ DanGreen-Leipciger-そうです、これはウェブサイト自体では行われません。コマンドラインを使用して行われます。PNSはWebインターフェイス内からそれを実行したいと考えていました。
PhistucK 2017年

2
OPは、特にGitHubでそれを行う方法を尋ねました。これは、GitHubで具体的に行う方法です。
Dan Green-Leipciger 2017年

30

git push -f以前に他のコミットをプルした人​​はいないと想定する必要があります。注意してください、あなたは歴史を変えています。


3

いいえ、コミットメッセージはコミットSHA /ハッシュに関連しているため、変更すると、コミットSHAも変更されます。私が使用した方法は、そのコミットに関するコメントを作成することです。私は逆に考えることはできません。


2

intellijユーザーの 場合プッシュされていない過去のコミットをインタラクティブに変更したい場合は、Intellijの以下の手順に従ってください

  • バージョン管理を選択
  • ログを選択
  • コメントを修正したいコミットを右クリックします
  • 言い換えをクリック
  • できた

それが役に立てば幸い


0

私も同じ問題に直面していました。

githubで特定のブランチを確認すると、そのブランチの最初のコミットのコミットIDがわかります。それをリベースします:

git rebase -i

エディタが開きます。github UIと開いているエディターからコミットの追跡を行い、メッセージを変更します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.