1

次のコミットを想像してください。

commit 1
commit 2
commit 3

ファイルa,bc. ファイルを追加dし、次の 3 つのコミットでそれを変更します (heroku でいくつかの JS をテストしています)。私は今、さらに3つのコミットを持っています:

commit 4 ( this add the d file, the other 2 commits only modify it )
commit 5
commit 6

commit 3プッシュされたコミット 4 5 および 6 を保持したまま、作業ディレクトリを の状態に戻すにはどうすればよいですか? (ファイルdはコミット 3 に存在してはなりません。または、少なくとも追跡されていないように見せたいです)

4

2 に答える 2

1

git reset <commit3><commit3>コミット 3 の SHA1 はどこですか (またはHEAD^^^) は、作業ディレクトリをコミット 3 にリセットし、追跡されないままにしdます。

(ただし、1 回のコミットで再度追加する場合は、git rebase -i HEAD^^^代わりに を実行することをお勧めします。その後、最新の 3 つのコミットをまとめて押しつぶすことができます。)

于 2012-05-02T10:25:54.373 に答える
0

こちらの「歴史を探る」をご覧ください。

http://schacon.github.com/git/gittutorial.html

また:

http://book.git-scm.com/4_undoing_in_git_-_reset,_checkout_and_revert.html

git revertまたはを使用しますgit reset

以前のコミットから物事を調べたいだけなら、git checkout <commit>-<filename>これらすべてに関するマニュアルページを読むことができます;)

于 2012-05-02T10:28:39.630 に答える