プッシュした後、リモートリポジトリでこのメッセージを見てきました:
マスターの背後で1つのコミット。
このマージには競合があり、コミットする前に解決する必要があります。
これらの変更を手動でTA20footerLastにマージするには、次のコマンドを実行します。
> git checkout 7c891f50c557
#注:これにより分離ヘッドが作成されます!
> git merge remotes/Origin/master
これは遅い答えですが、他の人を助けることができます。
開始する前に、コマンドラインが気に入らない場合は、SourceTree、GitExtension、GitHub 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
フォークのクローンを作成します。
git clone [email protected]:YOUR-USERNAME/YOUR-FORKED-REPO.git
分岐したリポジトリの元のリポジトリからリモートを追加します。
cd into/cloned/fork-repo
git remote add upstream git://github.com/ORIGINAL-DEV-USERNAME/REPO-YOU-FORKED-FROM.git
git fetch upstream
元のリポジトリからフォークを更新して、変更に対応する:
git pull upstream master
git Push
ブランチがマスターによって遅れている場合は、次を実行します。
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