私はgit repoを混乱させてしまいました。私は悪くなったライブラリの依存関係をいくつかアップグレードしようとしました。私はそれらを取り消す方法を見つけることができませんでしたので、私はちょうど前のコミットに戻って、そこから作業し、後で物事をマージすると考えて決めました。しかし、私は起源/マスターが頭から切り離されて巻き取られましたが、今はリモートのレポに何かを押し込めません。ここでは、物事の現在の状態のスクリーンショットは、次のとおりです。Git detached head - 前回のコミットに戻ってそこから変更を適用してください
私はその枝についてはあまり気にしませんでした。私はちょうどそれがクロールした穴に戻ってほしいです。しかし、私はそれを実現させることはできません。
git push origin HEAD:master
To https://[email protected]/xxx/xxx.git ! [rejected] HEAD -> master (non-fast-forward)
error: failed to push some refs to ' https://[email protected]/xxx/xxx.git '
hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. Check out this branch and integrate the remote changes
hint: (e.g. 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
:
git revert 7921869
error: revert is not possible because you have unmerged files.
hint: Fix them up in the work tree, and then use 'git add/rm '
hint: as appropriate to mark resolution and make a commit.
fatal: revert failed
私も変更をプッシュしようとしました:
私はこのようなコミットを元に戻すために試してみましたgit push origin master --force
error: src refspec master does not match any.
error: failed to push some refs to ' https://[email protected]/xxx/xxx.git '
そして、私はこれでした:
git show-ref
79218694bc34715b3d632dc0057f01fc2df2c842 refs/remotes/origin/master
誰も私を外し頭を持っていないように私はこれをほどく助けることができますか? f0dd017と同じようにddf4a1fコミットと一貫性を持たせるためには、origin/master
が必要です.7921869はこれまでに起こったことがありませんでした。私がちょうどgit checkout master
またはgit checkout e416f24
を行うと、私は4回のコミットを失い、私はそれを起こさせることはできません。
ありがとうございました。私はよくこのことを説明していない場合は
EDIT
は、左のラインは完璧です。私はちょうど私がリモートに再度押すことができるように最終的なコミットを指すようにマスターを取得する必要があります。ピンクの枝を忘れて。それはごみです。私はそれをまったく使用したくありません。
EDIT 2
私はティムBiegeleisenにより、以下のアドバイスに従っていると私は、私はほとんどそこだと思います。今私は、この状態を持っている:私はgit push origin master
を行う際
は、だから今、私はこの取得:
To https://[email protected]/xxx/xxx.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to ' https://[email protected]/xxx/xxx.git '
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
をしかし、私はメッセージが言うようにやるとgit pull ...
を行う場合、私は全体を無効にしないだろうこれの目的はorigin/master
からゴミを取り戻すことですか?
git push origin master --force
とすればよいですか?
>ファイルを結合解除しました。 これはあなたがマージしたことを意味しますが、半分が完了したことを意味します。 'git merge --abort'を実行する必要があります。 – ryenus
' git push origin master --force'は 'origin/master'が分岐点より先にある2つのコミットを破棄し、' master'元の分岐点よりも先にある。これは、達成したいこととまったく同じように思えます。 – cmaster
です。そしてそれは働いた。私は今すべて修正されています。ありがとう! – Alex