2016-04-05 10 views
1

ローカルブランチでコミットした後、ローカルブランチからリモートブランチからローカルブランチへの変更を受け取り、git pullをローカルブランチと私のサプライズ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. 

私はviエディターであることを理解しています。

私の質問はなぜ私はメッセージを入力するように頼まれました。私は前にそれに直面したことはありません。

私のgitのバージョンは次のとおりです。version 1.9.5-preview20141217

私はthis質問を呼びますが、私はまだそれが難しい理解するために見つけることです。おかげさまで Git Documentationから

+0

どのGITのバージョンを使用していますか? – dubes

+0

バージョン1.9.5-preview20141217 – ScrapCode

+0

私の答えはGitの理由を説明して更新されました。あなたの考え方や私の前提が間違っている場合は教えてください。 – dubes

答えて

3

は、現在のブランチにリモートリポジトリから変更を組み込みます。デフォルトモードでは、gitのプルはgitのでgitのための速記続くフェッチさFETCH_HEAD

に関するご質問については

マージ:

  1. なぜGitがMERGEを作成しているがコミットWHY を:それはデフォルトですgit pullの動作。インターネット上でこの動作の説明がたくさんありますが、thisはそれを説明するうまいことをしています。なぜGitは今コミットメッセージを求めている
  2. は:3つの可能なオプションは、私の心に来て:あなたは、あなたが
  3. 前に、先にリモートのだった地元の支店を持っていなかった
  4. あなたのgitクライアント更新
    • :あなたのgit configが、これを避けるために、どのように、最近

を変更しました

あなたのローカルリポジトリは1コミット先ですので、gitはリモートをローカルリポジトリにマージしようとします。これはマージによって処理することができますが、おそらくあなたはrebaseを探しています。すなわち、上にコミットを追加します。これは確かにあなたが探している行動である場合は、セットアップあなたのGitの設定を、それを設定し、あなたのgit pull

のデフォルトのオプションをリベースにすることができます、

git rebaseまたはgit pull --rebase

でこれを行うことができますグローバルで:

git config branch.autosetuprebase always # Force all new branches to automatically use rebase 

それとも、支店ごとにそれを設定することができます

git config branch.*branch-name*.rebase true # Force existing branches to use rebase. 
関連する問題