1

ローカル マシンに 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.

この段階で、私は何をすべきか。

  1. マージされたステップの後に取得してpullからプッシュする必要があります (この段階でプルを取得すると、どうなりますか?) または
  2. git stashのようなことをしなければならないのでしょうかpush

これであなたの助けを願っています。どうもありがとうございました。

4

2 に答える 2

1

(すべてのリモート変更を取得するために)プルする必要がありremote/master、ローカルの変更をプッシュできます。

  1. プルremote/masterすると、2 つのコミット (A、B) があったとします。

    remote/master: A -> B
    local/master:  A -> B
    
  2. 次に、他の開発者がコミットPをマスターにプッシュしました

    remote/master: A -> B -> P
    local/master:  A -> B
    
  3. X次に、ブランチでコミットしました(たとえば、 feature

    remote/master: A -> B -> P
    local/master:  A -> B
    local/feature: A -> B -> X
    
  4. マージfeatureされましたlocal/master

    remote/master: A -> B -> P
    local/master:  A -> B -> X
    local/feature: A -> B -> X
    
  5. remote/masterここで、リモート/マスターのすべてのコミットをローカル/マスターにフェッチするためにプルする必要があります。

    remote/master: A -> B -> P
    local/master:  A -> B -> P -> X    # now local/master has P (sync with remote/master)
    local/feature: A -> B -> X  
    
  6. ローカル/マスターをリモートにプッシュする

    remote/master: A -> B -> P -> X
    local/master:  A -> B -> P -> X
    local/feature: A -> B -> X
    
于 2016-12-26T03:33:08.720 に答える