理解和解决git冲突“文件模式已更改”

ymdaylpp  于 2023-01-28  发布在  Git
关注(0)|答案(2)|浏览(190)

我在git上正常工作...我创建分支,处理分支...合并到develop...解决冲突...创建PR但是当我进入bit-bucket时,我看到它显示了很多冲突,原因是:
“冲突:源和目标中的文件模式都已更改”
这两个文件显然是相同的,除了内容:

-rw-rw-r-- 1 me me 98085 sep 28 13:16 path/to/file.py in develop
-rw-rw-r-- 1 me me 99893 sep 28 13:16 path/to/file.py in my branch

我不明白这个冲突或者如何解决它,我的意思是解决,而不是忽视git config core.fileMode false

fquxozlt

fquxozlt1#

(note:不是答案,更多的是格式化的评论)
git存储本身也有一个“filemode”的概念。
您能否比较:

git ls-tree <commit>:path/to/

<commit>替换为developbranch<base commit id>时,并查看file.py出现什么“文件模式”?
输出应类似于:

# taken from github.com/git/git :
$ git ls-tree HEAD:xdiff/
100644 blob bb56b23f34c96ceec169d39b829e89cd512d7e39    xdiff.h
100644 blob 32652ded2d7c5cad87f120a13c3c6c84d6def61f    xdiffi.c
100644 blob 126c9d8ff4e4147e0f4e96ddb9debfde17d9b637    xdiffi.h
            # etc ...
#  ^
# that filemode
toe95027

toe950272#

我刚刚遇到了类似的问题,Bitbucket说“冲突:一个文件的源和目标”“中的文件模式均已更改。此消息原来是误导性的。git ls-tree在两个分支和合并基中为相关文件显示了相同的文件模式。
最后,我按照Resolve merge conflicts的流程执行,它显示了文件的 content 中的冲突。我修复了这些冲突,冲突得到了解决。

相关问题