私は私のブランチから引き出します:
git checkout mybranchSample
git fetch
git pull Origin master
次に、Gitから次のメッセージが表示されます。
このマージが必要な理由を説明するコミットメッセージを入力してください。
特に更新されたアップストリームをトピックブランチにマージする場合
そして、コミットメッセージを入力した後、master
をファイルにマージします。 master
の一部のファイルで作業したことはありませんが、git status
と入力すると、ファイルリストが緑色で表示されます。
この問題は、同僚とは発生しませんnotですが、私だけです。この背後にある理由は何ですか?
_git pull
_は基本的に一度に2つのアクションです:_git fetch
_の後に_git merge
_が続きます(_git pull --rebase
_を使用する場合を除き、その場合は何が起こるか推測できます)。
これが表示される理由は、Gitがfast-forwardマージを実行できないためです。その理由は通常、プルしようとしているブランチにローカルで_git commit
_ tedしているため、リモートの変更をローカルの変更とマージする必要があるためです。
また、Gitがマージメッセージを事前に入力しているので、何も入力する必要はありません。保存して終了するだけで、マージが完了するはずです。 (もちろん、マージの競合がない限り)。
Linus Torvaldsが最もよく説明しています。
私は主に責任があるので、今後の「git」UIの変更についてWordを広めます。
この変更により、人々はマージを説明するためにマージメッセージを作成できるようになり、必要でない場合はマージしないこともできます。
私はここ数週間、そのgit機能を使用してきましたが、その結果、サブメンテナンスにさまざまなメモが含まれていることからマージされました(少なくとも、サブメインが私に教えてくれた場合は)。だから、私は例を挙げてリードしようとしています。
ただし、マージの説明が気に入らない場合、これは面倒な場合があります。もちろん、あなたがあなたのマージを説明しなければ、あなたはうっとうしいので、結局それはすべて平等になります。言うまでもなく「カルムバランス」。
ソース: https://plus.google.com/+LinusTorvalds/posts/SrePhcj6XJe
master
ブランチをmybranchSample
ブランチにマージしようとした場合、これはまったく正常です。
Gitはmaster
をmybranchSample
(mybranchSample
ブランチからgit pull Origin master
を実行したとき)とcommits
をマージします(マージの変更がない限り)競合)、事前に入力されたメッセージが表示されます。保存して終了するだけです。
[〜#〜] but [〜#〜]リモートmaster
ブランチから最新のコードを取得してローカルmaster
ブランチとマージしようとした場合、その後、master
にチェックアウトし、master
からプルする必要があります。
あなたからの声明
マスターファイルをファイルにマージします。マスターからいくつかのファイルを操作したことはありませんが、git statusと入力すると、ファイルリストが緑色で表示されます。
2番目の方法を試みていると思います。
だから、試してください:
git checkout master
git pull Origin master
あなたはブランチに問題があると思う...あなたが直面していると想像できる2つの可能なシナリオ:
1)リモートブランチmybranchSample
があり、その上で作業したい-マスターブランチとは今のところ何の関係もない(つまり、ブランチをマスターまたはバイスにマージしたくない逆)。あなたはあなたの質問で言います
my branchからpullを取得した後...
しかし、あなたはgit pull Origin master
、これはmasterから取得します。代わりに、git version> = 1.6.6で、次を使用してリモートブランチをチェックアウトできる必要があります。
git fetch
git checkout mybranchSample
2)mybranchSample
で作業しようとしましたが、そこにmasterブランチの最新のコードが必要です。それから、Anand Sが言ったように、マージが必要かもしれないことは理にかなっています。
これがあなただけに起こっているのは、あなたの設定が違うからではなく、あなたがマージしているブランチが違うからです。
差分内のファイルを変更しなかった理由は、マージ後、新しいコミットが親コミットを行う必要があるためです。最後に行ったコミットとマスターでの最新のコミットです。新しいコミットには、すべての変更/ファイルが含まれます。したがって、newからyour last commitに変更すると、すべてのファイルが変更/追加されたことがわかります。マスターブランチ。