私はGitを使用しています。私はリモートリポジトリからプルし、エラーメッセージが表示されました。
特に更新されたアップストリームをトピックブランチにマージする場合は特に、このマージが必要な理由を説明するコミットメッセージを入力してください。
メッセージを入力して押しますEnterが、何も起こりません。
メッセージの入力が完了したことをGit /ターミナルに伝えるにはどうすればよいですか?
OS Xでターミナルを使用しています。
私はGitを使用しています。私はリモートリポジトリからプルし、エラーメッセージが表示されました。
特に更新されたアップストリームをトピックブランチにマージする場合は特に、このマージが必要な理由を説明するコミットメッセージを入力してください。
メッセージを入力して押しますEnterが、何も起こりません。
メッセージの入力が完了したことをGit /ターミナルに伝えるにはどうすればよいですか?
OS Xでターミナルを使用しています。
回答:
gitはデフォルトのエディターを使用するため、これはGitエラーメッセージではなく、エディターです。
これを解決するには:
vi
またはであることを前提としていvim
ます。
Vi
エラーではありません。これは、このマージをマークするメッセージを入力する必要があることを意味します。私のOSはUbuntu 14.04です。同じOSを使用している場合は、次のようにするだけです。
メッセージを入力してください
CtrlCO
ファイル名(「Merge_feature01」など)を入力して、 Enter
CtrlX 出る
ここで、.gitに移動してファイル「Merge_feature01」を見つけた場合、それは実際にはマージログです。
nano
か(またはを使用pico
)に関するもので、OS Xセットアップには適用されません。それは決して一般化できず、それがどのように機能するかについての洞察も提供しないため、@ AdrianCarrが残したコメントです。今ははるかに良い答えがあります。
ここで、niceは、あなたが好きな、またはよりユーザーフレンドリーなエディターの意味で使用されます。
根本的な問題は、Gitがデフォルトでほとんどの人に使用するには直感的でないエディタ、Vimを使用していることです。誤解しないでください。Vimが大好きです。Vim を学ぶために時間を空けて(1か月など)、 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"
代わりに、git CtrlZでコミットを再試行することもできますが、今回は「-m」の後にメッセージを引用符で囲んで追加すると、そのページでプロンプトが表示されずにコミットされます。
git commit -m 'I did blah'
ローカルリポジトリのコミット数が少ないため、gitはリモートをローカルリポジトリにマージしようとします。これはマージによって処理できますが、あなたの場合、おそらくあなたはリベースを探しています、すなわちあなたのコミットをトップに追加します。あなたはこれを行うことができます
git rebase
または git pull --rebase
ここにgit pull
&の違いを説明する良い記事がありgit pull --rebase
ます。
https://www.derekgourlay.com/blog/git-when-to-merge-vs-when-to-rebase/
これはGitエラーメッセージではなく、gitがデフォルトのエディターを使用するエディターです。
これを解決するには:
説明
これを覚えているのは、「i」は「挿入」、「esc」は挿入の出口、「:wq」は単に「書き込み」と「終了」のことです。
これはエラーではありません。このマージのために大衆を追加する必要があります
これを解決するには: