3

ハッシュAとハッシュBの間でgitにいくつかの変更が加えられました(最新のブランチはZにあります-数千回のコミット後)。HEAD(私のローカルのもの)がハッシュAを指すようにし、AとBの間で行われたすべての変更を作業ディレクトリに入れたいと思います。

なんで?git diffは不便であり、IDE(IntelliJ IDEA)にあるdiffツールを使用したいので。しかし、このためには、ファイルを変更したことをIDEに納得させる必要があります。

4

2 に答える 2

5

私は実際に方法を見つけました:

git checkout <hash A>
git diff –patch <hash A> <hash B> > patch.patch
patch –p1 –N < patch.patch

同僚も私が使用できたと言った

git checkout <hash A>
git merge --squash <hash B>

代わりに-しかし、私はまだそれをテストしていません。

于 2012-05-23T09:51:13.717 に答える
1

あなたは出来る:

  • git cloneローカルリポジトリをリセットしてにリセットします(「リモートリポジトリの特定のバージョンのGitクローンhashB」を参照)
  • git reset hashAローカルリポジトリ内
  • コンテンツを空にして置き換えます。IDEA内のGitプラグインは、現在と比較して追加、欠落、または変更されたすべてのファイルを検出しますHEAD
于 2012-05-23T09:00:54.087 に答える