git cherry-picked commit,但是整个文件都被替换了,我怎样才能重新计算差异?

git cherry-picked commit, but files whole replaced, how can I recalculate difference?

我挑选了一个从功能分支到主分支的提交。 但是这些更改的文件被移动到 master-branch 中的另一个文件夹。 所以我使用了以下答案来合并移动的文件: git merge conflict due to moved files

但是现在我遇到了一个问题: 而不是计算替换文件的差异 git 想要覆盖它们。 我如何重新计算正确合并提交的差异?

问题出在

有些文件的编码不正确或file-endings

可以通过以下方式解决:

# undo incorrect merge commit, if it is made 
$ git reset --soft <commit>
# hide changes
$ git stash
# change encodings or endings in your text editor
$ vim file
:set fileencoding=utf-8
:set ff=dos
:wq
# create commit
$ git commit -m "enc"
# apply merge
$ git stash apply
$ git commit -m "merge"