0

いくつかのコミットを別のブランチに移動しました

git checkout -b old-state 0d1d7fc32

ここで、ローカルマスター状態をマスターにプッシュしたいのですが

Everything up-to-date

発生します。元の状態に戻すにはどうすればよいですか?

4

1 に答える 1

1

まとめましょう:

  • あなたはあなたの地元の州masterorigin/master
  • あなたはそれで何か間違ったことをしました
  • masterリビジョンにリセットしたい0d1d7fc32
  • あなたもorigin/master指摘したい0d1d7fc32

これを実現する方法は次のとおりです。

  1. ローカルマスターブランチを次のようにリセットします0d1d7fc32
    git checkout master
    git reset --hard 0d1d7fc32

  2. 等しくorigin/masterするmaster
    git push -f origin master:master

終わり。


Gitコマンドを他のVCSから知っているコマンドと混同しないでください。私はいくつかのVCSがあることを知っていcheckoutます

作業コピーをリビジョンに持ってきてください

これはGitには当てはまりません。http://git-scm.com/を閲覧して、それが何であるかを第一印象を得てから、本などを読みたいと思うかもしれません。


元の答え:最後のコミットがSHAを使用するものである
git checkout -b old-state 0d1d7fc32というローカルブランチを作成します。old-stated1d7fc32

私はあなたがあなたのローカルブランチorigin/masterと同じ状態になりたいと思っていると思います。master

その場合は、

git push -f origin master:master

それらを等しくするために。

git checkout何も動かない。old-state現在のブランチと同じ履歴を共有するという新しいブランチを作成するだけです。リビジョン番号を渡すと、指定されたリビジョンまで(およびそれを含めて)同じ履歴が共有されます。

于 2012-07-16T13:18:55.653 に答える