web-dev-qa-db-ja.com

「マスターの背後で1つのコミット」を解決するためにできること

プッシュした後、リモートリポジトリでこのメッセージを見てきました:

マスターの背後で1つのコミット。

このマージには競合があり、コミットする前に解決する必要があります。

これらの変更を手動でTA20footerLastにマージするには、次のコマンドを実行します。

> git checkout 7c891f50c557

:これにより分離ヘッドが作成されます!

> git merge remotes/Origin/master

18
Roman Yavoriv

これは遅い答えですが、他の人を助けることができます。

開始する前に、コマンドラインが気に入らない場合は、SourceTreeGitExtensionGitHub Desktopまたはお気に入りのツール。手順に従ってください:

この問題を解決するには、2つのシナリオ

1)コミットの背後にあるリモートリポジトリブランチのみを修正

例:両方のブランチはリモート側にあります

頭===マスターブランチ

背後にある===ブランチを開発する

解決策:

i)リポジトリをローカルワークスペースに複製します。これにより、コミットの先にあるマスターブランチが得られます。

    git clone repositoryUrl

ii)開発名でブランチを作成し、そのブランチにローカルでチェックアウトします

   git checkout -b DevelopBranchName // this command creates and checkout the branch

iii)リモートの開発ブランチからプルする

   git pull Origin DevelopBranchName

iv)ローカルの開発ブランチとリモートの開発ブランチをマージします

     git merge Origin develop 

v)マージされたブランチをリモートの開発ブランチにプッシュする

     git Push Origin develop

2)ローカルマスターブランチはリモートマスターブランチの背後にあります

これは、ローカルに作成されたすべてのブランチが遅れていることを意味します。

先に進む前に、コミットの背後にあるブランチで行ったすべての変更をコミットまたはスタッシュする必要があります。

解決策:

i)ローカルマスターブランチをチェックアウトする

   git checkout master

ii)リモートマスターブランチからプル

   git pull Origin master

これで、ローカルマスターはリモートブランチと同期しますが、他のローカルリモートは上記のコマンドのためにローカルマスターブランチと同期しません。それを修正するには:

1)ローカルマスターブランチの背後にあるブランチをチェックアウトする

    git checkout BranchNameBehindCommit

2)ローカルマスターブランチとマージする

    git merge master  // Now your branch is in sync with local Master branch

このブランチがリモートリポジトリにある場合、変更をプッシュする必要があります

     git Push Origin branchBehindCommit
30
ash
  1. フォークのクローンを作成します。

  2. 分岐したリポジトリの元のリポジトリからリモートを追加します。

    • cd into/cloned/fork-repo
    • git remote add upstream git://github.com/ORIGINAL-DEV-USERNAME/REPO-YOU-FORKED-FROM.git
    • git fetch upstream
  3. 元のリポジトリからフォークを更新して、変更に対応する:

    • git pull upstream master
    • git Push
17
Gurdeep Singh

ブランチがマスターによって遅れている場合は、次を実行します。

git checkout master (you are switching your branch to master)
git pull 
git checkout yourBranch (switch back to your branch)
git merge master

マージした後、競合があるかどうかを確認します。
競合がない場合:

git Push

競合がある場合は、ファイルを修正してから:

git add yourFile(s)
git commit -m 'updating my branch'
git Push
3
Bayram Binbir