私はGitを使っています。リモートレポジトリからプルして、エラーメッセージが表示されました。
「このマージがなぜ必要なのかを説明するためにコミットメッセージを入力してください。特に更新されたアップストリームをトピックブランチにマージする場合は、」
メッセージを入力してを押す Enter しかし何も起こりません。
私は自分のメッセージを入力し終えたGit/terminalにどうやって伝えるのですか?
私はOS X上でターミナルを使用しています。
これはGitのエラーメッセージではありません。gitはデフォルトのエディタを使用しているのでエディタです。
これを解決するには
実際にはエラーではありません。これは、このマージをマークするために何らかのメッセージを入力する必要があることを意味します。私のOSはUbuntu 14.04です。同じOSを使用している場合は、次のようにしてください。
メッセージを入力してください
CtrlCO
ファイル名( "Merge_feature01"など)を入力してを押します。 Enter
CtrlX 出る
今、あなたが.gitに行き、そしてあなたがファイル "Merge_feature01"を見つけるならば、それは実際にマージログです。
ここでNiceは、エディターの意味で使用されます、よりユーザーフレンドリーな検索。
根本的な問題は、Gitがデフォルトで、ほとんどの人にとって使用するには直感的ではないエディタVimを使用することです。誤解しないでください、私はVimが大好きです。しばらくの間(1か月など) Vimを学ぶために を設定し、Vimが存在する中で最高のエディターであると考える理由を理解してください、この問題をより迅速に修正する方法があります:-)
修正は、受け入れられた答えのように、不可解なコマンドを記憶することではなく、あなたが好きで理解しているエディタを使用するようにGitを設定することです!これらのオプションのいずれかを設定するのと同じくらい簡単です
core.editor
(プロジェクトごと、またはグローバル)VISUAL
またはEDITOR
環境変数(これは他のプログラムでも機能します)いくつかの人気のあるエディターの最初のオプションについて説明しますが、GitHubには優れた 多くのエディター向けのガイド もあります。
まっすぐ そのドキュメントから 、ターミナルにこれを入力します:git config --global core.editor "atom --wait"
Gitは通常、エディターコマンドが終了するのを待ちますが、Atomはすぐにバックグラウンドプロセスに分岐するため、--wait
オプションを指定しない限り、これは機能しません。
Atomの場合と同じ理由で、バックグラウンドに分岐してはならないことをプロセスに通知する特別なフラグが必要です。
git config --global core.editor "subl -n -w"
ただしなさい、
CTRL + X
CTRL + C
ファイルを保存するように求められます。 Yその後、あなたは完了です。
代わりに、あなたはgitすることができます CtrlZ コミットを再試行しますが、今回はその後ろに引用符で囲まれたメッセージを含む "-m"を追加します。そうすると、そのページで確認を求めずにコミットされます。
あなたのローカルリポジトリはコミットが少ないので、gitはあなたのリモートをあなたのローカルリポジトリにマージしようとします。これはマージを介して処理できますが、あなたの場合はおそらくリベースを探している、つまりコミットをトップに追加します。あなたはこれを行うことができます
git rebase
またはgit pull --rebase
これがgit pull
とgit pull --rebase
の違いを説明する良い記事です。
https://www.derekgourlay.com/blog/git-when-to-merge-vs-when-to-rebase/
ここでは、このマージを実行した理由を後で参照するために、マージに関連するメッセージを求めています。
press "i"
on top above on #lines write your message
press "esc" button
write ":wq" (it will write in bottom automatically)
press enter
あなたのmerge.Thisを使ってAndroidのスタジオ端末にメッセージを追加する方法は、Macユーザー向けです。
これで、マージは完了しました。その後、作業を続けてローカルに移動するか、新しいブランチを作成できます。