3

リモート ブランチ名 REMOTE1 を作成し、REMOTE1 を変更して更新しました。同様に、私の同僚は MASTER に取り組み、かなりの量の変更を加えました。

ここで、remote/MASTER から remote/REMOTE1 への変更をマージする必要があります。

この場合に従うべき最良のワークフローを誰でも手伝ってもらえますか。次の手順を試しました

git checkout master

git pull

git checkout REMOTE1

git rebase master

非常に多くのマージ競合があり、解決しました...

git status を試すと

# On branch REMOTE1
# Your branch and 'origin/REMOTE1' have diverged,
# and have 16 and 10 different commit(s) each, respectively.
#

私はそれが何を意味するのか分かりませんか?

次に、リモートブランチ REMOTE1 にプッシュしようとすると、次のエラーが発生します

 ! [rejected]        HEAD -> REMOTE1 (non-fast-forward)
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again.  See the 'Note about
fast-forwards' section of 'git push --help' for details.

リベース操作の前に

--- A - B - C - D   MASTER
         \
         P - Q - R  REMOTE1

上記の手順を実行した後

              MASTER     LOCAL REMOTE1
                |           |
--- A - B - C - D - P - Q - R    
        \
         P - Q - R   REMOTE1
4

1 に答える 1

1

origin/REMOTE1 にある変更とは異なる変更で REMOTE1 をプッシュしようとしているようです。これを行う前に、REMOTE1 をプルしてみてください。まず、それをチェックしてください:

git checkout REMOTE1

次に、REMOTE1 で次の変更をプルしますorigin

git pull origin REMOTE1

これで、ローカルの REMOTE1 が origin/REMOTE1 と同期されました。マスターからの変更をリベースしてプッシュできます。

git checkout master
git rebase REMOTE1
git checkout REMOTE1
git push origin REMOTE1
于 2012-08-13T14:57:00.373 に答える