要約:エラーを再現するには
- ブランチを作成してチェックアウト
- 他の誰かにそれを削除させて、同じ名前で新しいブランチを作成させてください
git branch -D <branch>今やるgit checkout -b <branch> --track origin/<branch>git pullあなたが得る上で! [rejected] <branch> -> origin/<branch> (non-fast-forward)
これを修正するには、リモート追跡情報も削除する必要がありgit branch -d -r origin/<branch>ます
古い:誰かが開発ブランチを削除し、それを作成してすべての機能ブランチを削除し、マスターをベースとして再び使用しました。次に、機能ブランチのいくつかを追加しましたが、問題を引き起こした他のブランチは追加しませんでした。
私はとをしましgit branch -D developたgit checkout -b develop --track origin/develop。
今試してみるgit pullと! [rejected] develop -> origin/develop (non-fast-forward)
git remote show originショー_
Local refs configured for 'git push':
develop pushes to develop (local out of date)
私は今やることができますがgit fetch origin develop、git merge FETCH_HEADそれから私はいくつかの対立を抱えており、彼は開発するために多くのことを推し進めたいと思っています。(おそらく古いブランチがコミットしますか?)そして、git reset --hard私はgitpullが拒否されたメッセージを表示するところに戻ってきました..
再作成されたブランチを最適にチェックアウトするにはどうすればよいですか?
編集:git branch -D develop私が一緒git pull ! [rejected] develop -> origin/develop (non-fast-forward)になってすべてをgit remote show origin言ったときでさえ(最新)
編集:コミットメッセージが同じだったので、最初はそれを認識しませんでしたが、リセット後、HEADはリモートが持っていないshaにあるので、まだ「古い」ブランチにありますか?