ハッシュAとハッシュBの間でgitにいくつかの変更が加えられました(最新のブランチはZにあります-数千回のコミット後)。HEAD(私のローカルのもの)がハッシュAを指すようにし、AとBの間で行われたすべての変更を作業ディレクトリに入れたいと思います。
なんで?git diffは不便であり、IDE(IntelliJ IDEA)にあるdiffツールを使用したいので。しかし、このためには、ファイルを変更したことをIDEに納得させる必要があります。
私は実際に方法を見つけました:
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>
代わりに-しかし、私はまだそれをテストしていません。
あなたは出来る:
git clone
ローカルリポジトリをリセットしてにリセットします(「リモートリポジトリの特定のバージョンのGitクローンhashB
」を参照)git reset hashA
ローカルリポジトリ内HEAD
。