在散列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
Run Code Online (Sandbox Code Playgroud)
同事也告诉我,我可以使用
git checkout <hash A>
git merge --squash <hash B>
Run Code Online (Sandbox Code Playgroud)
相反 - 但我还没有测试它.