2017-11-13 5 views
-2

ユーザーがローカルの変更をコミットし、新しい変更が加えられたリポジトリに変更をプッシュしようとすると、プッシュではプルールされていない変更があるというエラーが表示されます。引っ張る前にユーザーにコミットさせる点は?

しかし、変更をプルしようとすると、自分のローカルリポジトリに(リポジトリに対して)コミットされていない変更があるため、失敗します。

最初にプルしなかった場合にユーザーがプッシュできない場合に、ユーザーが変更をコミットする点は何ですか?

+2

あなたの質問から判断すると、GITの仕組みを根本的に誤解しています。そのアイデアは、あなたが行った変更をローカルで*バージョン管理しているので、それを競合させる可能性があるコードを引っ張る前に引っ張ってしまうことがあります。 –

+1

「しかし、あなたが引っ張ってしまえば...失敗するだろう」...いいえ、変更を加えて引っ張ると、通常は最悪のシナリオでマージ競合が発生します。良いGitチュートリアルを打ちたいかもしれません。 –

+3

これは、コミットがプッシュとほぼ同じことである、思考の列のような非常にSVNから来ていると思います。 –

答えて

0

変更のコミットは、のように、つまりリモートブランチではなくローカルの作業コピーで行うことです。 Gitはあなたがローカルの "登録されていない"変更がリモートから引っ張っているもので上書きされないように引っ張る前にコミットします( "pull"は "fetch" + "merge"を意味するか、変更をダウンロードしてあなたのローカル変更)。何かが間違っている場合やマージの競合がある場合は、あなたのコミットのおかげでそれを解決することができます。そのため、まずコミットしてからコミットしてから(フェッチ+マージ)、次にプッシュする必要があります。

複数のデベロッパーが同じブランチにプッシュしてはならない理由はたくさんありますが、それは私が推測する別の話です。

関連する問題