17

要約:エラーを再現するには

  • ブランチを作成してチェックアウト
  • 他の誰かにそれを削除させて、同じ名前で新しいブランチを作成させてください
  • 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 developgit 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 developgit 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にあるので、まだ「古い」ブランチにありますか?

4

2 に答える 2

14

トラッキングブランチも削除する必要がありました

git branch -d -r origin/develop
于 2012-08-27T17:34:09.030 に答える
7

現在は別のブランチであるため、プルできません。

たぶん、最初から始めremote developて、新しいローカルブランチとしてブランチをフェッチする必要があります!

git checkout -b new_develop --track origin/develop

これを行った後、ローカルマシン上のブランチ間でマージまたは変更できます。ディレクトリツリーと他のファイルを比較します。

編集が完了したら、ローカルdevelopブランチを削除し、名前をに変更new_developdevelopます。

于 2012-08-07T11:10:35.030 に答える