web-dev-qa-db-ja.com

コミットメッセージを求めてgitマージを終了するにはどうすればよいですか?

私はgitを使用しています。私は通常のマージを行いましたが、これはこれを尋ね続けます:

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.

そして、何か書いてもここから抜けられません。これを説明するドキュメントが見つかりません。どうすればよいですか?

25
Luca Reghellin

これは、使用しているエディターによって異なります。

vim の場合、使用できます ESC そして :wq または ESC そして Shift+zz。どちらのコマンドもファイルを保存して終了します。

また、~/.gitconfig私の場合、編集者用(cat ~/.gitconfig):

[user]
    name = somename
    email = [email protected]
[core]
    editor = vim
    excludesfile = /home/mypath/.gitignore_global
[color]
  ui = auto
  # other settings here
25
Зелёный

私はこれが遅いかもしれないことを知っていますが、ブランチへのコミットを行った場合、マージしているブランチよりも少し更新された場合にのみ発生することに気づきました。

Image to help with understanding

ブランチを変更して(つまり、ブランチにファイルを追加して)、別のブランチをブランチにマージしようとすると、GitがそのブランチのMERGE_MSGを書き込むように要求することがわかりました。

この画像では、LICENSEファイルをmasterに追加し、.gitignoreファイルをブランチnpm-initに追加したことを示しています。

masterには新しいファイルLICENSEが含まれており、npm-initはそれを認識していないため、Gitはなぜマージする必要があるのか​​についてメッセージを書くように求められました。

同様に、add-eslintadd-devにマージしましたbeforeinstall-depsの変更をマージしました。


これは理解しにくいかもしれませんが(最初は私でも)、画像で状況が明確になることを願っています:)

1
Edwin Pratt