0

特定のコミット ID に戻したい。「git rm」で編集したファイルを復元します。それ以降に行われたすべてのコミットを吹き飛ばします。そして、そのレポをコミットします。どうすればいいですか?

4

3 に答える 3

2
$ git reset --hard <commit ID>    # Will reset to a specific commit
$ git push -f <remote>            # Push branch into remote, with force

レポジトリのクローンを作成した人は、単に変更を取り込んだだけで小さな問題が発生する可能性があることに注意してください (コミット履歴でブランチを逆方向に強制したため)。変更を取得するには、次のようにする必要があります。

$ git fetch <remote>
$ git reset --hard <remote>/<branch>

これにより、現在のブランチでの変更吹き飛ばされることに注意してください。ただし、現在のブランチから作成されたブランチがある場合、それらのブランチには、「吹き飛ばした」コミットがまだあります。

于 2012-11-13T17:55:17.043 に答える
0

を探しているのかもしれませんgit reset --soft {ID}

   git reset --<mode> [<commit>]
       This form resets the current branch head to <commit> and possibly updates the index (resetting it to the tree of <commit>) and the working tree depending on <mode>, which must be one of the
       following:

       --soft
           Does not touch the index file nor the working tree at all (but resets the head to <commit>, just like all modes do). This leaves all your changed files "Changes to be committed", as git
           status would put it.

「打撃」が実際に何を意味するのかわからないため、--hardモードも役立つ可能性があります。

于 2012-11-13T17:54:16.883 に答える
0

git revert my_commit_idコマンドを使用できます。

1 つまたは 2 つの以前のコミットの場合はgit revert HEADgit revert HEAD^それぞれ と を使用して実行します。

これで問題が解決しない場合は、HEAD の代わりにコミット ID を使用してください。

これにより、コミットメッセージを再度編集して新しいコミットを作成するオプションも提供されます。`

于 2012-11-13T17:54:41.820 に答える