4

GitHub にリポジトリをセットアップし、Dev ブランチを使用して、ローカル マシンに複製します。

git clone https://github....

次に、次を使用して Dev ブランチに切り替えます。

git checkout -b Dev

次に、すべてが最新であることを確認するためだけにプルします

git pull origin Dev

私は今、自分の Dev ブランチにいて、いくつかのコードを書き、次を使用してファイルを追加します。

git add filename

次に、次を使用してコミットします。

git commit -m "message"

次に、次を使用してプッシュします。

git push origin Dev

これはすべてうまくいきます。次に、2 番目のユーザーがやって来て、何らかのコードを入力します。同時に、別のファイルで作業していますが、同じブランチで作業しています。以前のように追加してコミットします。ただし、プッシュしようとすると、次のメッセージが表示されます。

https://github.com/ex/ex.git ![拒否]
開発 -> 開発 (最初に取得) エラー: ' ' への一部の参照をプッシュできませんでしたhttps://github.com/ex/ex.gitヒント: ヒント: ローカルにない作業がリモートに含まれているため、更新は拒否されました。これは通常、別のリポジトリがヒントをプッシュすることによって引き起こされます: 同じ参照に。再度プッシュする前に、最初にリモートの変更をマージすることをお勧めします (ヒント: 'git pull' など)。ヒント: 詳細については、「git push --help」の「早送りに関する注意」を参照してください。

私はそれが言うように行い、実行します:

git pull origin Dev

その後、以前と同じように押すことができ、すべてが順調に見えます。ただし、GitHub に戻ってコミット履歴を確認すると、次のように表示されます。

 Merge branch 'Dev' of https://github.com/ex/ex into Dev

追加したばかりのコミットの中で。なぜこの合併が起こっているのですか?どうすればこれを防ぐことができますか?

4

2 に答える 2

1

最後のコミットが統合されたため:

  • dev@origin が「新しい」ため、プルする必要がありました

  • dev@origin をローカル dev にマージしたプルで

  • ローカル dev にはコミットがありましたが、これはもともとオリジンにプッシュしたかったものです。

  • 最後に dev@origin がコミットとマージされました (したがって、dev は dev とマージされました)

于 2013-08-27T11:39:44.020 に答える