3

Eclipse IndigoSR2ビルド20120216-1857でEGitを使用しています。

関数を除いて、ほとんどすべてがうまくReplace With -> Commit...機能します。実際には機能しますが、それ以降に追加した新しいファイルが残っているため、プロジェクトを正確に復元することはできません。

現在のHEADと私が復元することを選択したコミットの間で一種のミックスを行っているようです。私が本当に望んでいるのは、ブランチを切り替えるときのように、プロジェクトのコンテンツを以前のコミットに置き換えることです。

解決策はありますか?そして、Eclipseの最新バージョンが完全に機能するバージョンのEGitを提供するかどうかを誰かが知っていますか?

それとも私はこの機能を誤解していますか?

4

3 に答える 3

3

Replace with私がEgitで知っている" "はgitチェックアウトに関するものです(以下のrobinstコメントgit revertのようにではありません)。 また、チェックアウトはリセットと同じではありません

私が本当に望んでいるのは、ブランチを切り替えるときのように、プロジェクトのコンテンツを以前のコミットに置き換えることです。

これは、機能「リセット」に近いでしょう。
「ハードリセット」を選択すると、プライベートファイルが削除され、インデックスと作業ツリーの両方が選択したコミットに完全に復元されます。

Egitでリセット

(「Egitでコミットを削除する方法」から)

hard-HEADが新しいコミットを指し、インデックスと作業ツリーが更新されます。

このチュートリアルでもそれを見ることができます:

Egitbisでリセット

于 2013-02-01T07:03:18.797 に答える
3

@VonCは私に1つの解決策を示しましたが、それは私が本当に望んでいることではありません。

Resetコマンドを試しましたが、最初に、コミットにタグを付けて選択できるようにする必要がありました。master次に、ブランチ全体を変更し、次のコミットをキャンセルします。実際、ブランチを変更したり、コミットを削除したりしたくはありません。前のブランチに戻ってコード全体を確認し、最終的に実行できるようにしたいだけです。

最後に、コミットでCheckoutを使用して動作させることができます。すべてのコミットを表示するには:Right click on your project -> Show In -> History

作業中のブランチは変更されませんが、プロジェクトのコンテンツがコミットで保存されたものに置き換えられるだけです。

于 2013-02-01T09:35:29.077 に答える
0

新しく作成されたファイルは、に追加しない限り、git index(追跡されていない)には含まれません。ワークスペースをコミットに戻すため、追跡されたファイル(gitインデックスに追加されたもの)のみが変更されます。新しく作成されたファイルは変更されません。

追跡されていないファイルを削除する場合:

git clean -f -dそれをします。

于 2013-01-31T22:29:55.383 に答える