ローカル マシンに master からのブランチがあります。merge
レポをマスターする方法を知っています。しかし、質問はこれです。
他の開発者がマスター リポジトリに変更をプッシュして変更したと考えてください。同時に、ブランチからマスター リポジトリに変更をマージしようとしています。
この状況でどうなるか。
このような状況ではどうすればよいでしょうか。私は自分のブランチから次のことをしようとしました。
- ->で私の変更を追加しました
git add *
- 次に -> でコミット
git commit -m "my commit"
- 次に、-> で私のブランチにプッシュします
git push -u origin my_branch_name
- 次に、リポジトリを master に変更しました ->
git checkout master
- 次に、ブランチを master にマージ ->
git merge my_branch_name
この段階までは成功しました。次に、次のコマンドでプッシュしようとしました(数分前に、別の開発者がマスターにプッシュしました)
git push origin master
それから次のように言います。
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'git@bitbucket.org:abcdef/cups.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
この段階で、私は何をすべきか。
- マージされたステップの後に取得して
pull
からプッシュする必要があります (この段階でプルを取得すると、どうなりますか?) または git stash
のようなことをしなければならないのでしょうかpush
。
これであなたの助けを願っています。どうもありがとうございました。