开发者

How to mass-resolve Git Conflicts with only File Mode changes?

开发者 https://www.devze.com 2023-03-23 06:37 出处:网络
I am trying to merge two repositories, and there ar开发者_如何学Goe only a couple of \"real\" conflicts, but there are about 70 file conflicts of \"Both added\". When viewing a git diff, however, it o

I am trying to merge two repositories, and there ar开发者_如何学Goe only a couple of "real" conflicts, but there are about 70 file conflicts of "Both added". When viewing a git diff, however, it only shows file mode changed.

What would be the best way to mass-accept the current file mode and ignore the incoming file mode?

A little background: These 2 repositories are of the same code, but one has been tracked through SVN, so doesn't have a history. I'm using git-svn to track it now and merge it with the current git repository.

The incoming conflicts on merge appear as: CONFLICT (add/add): Merge conflict in framework/file/name.php Automatic merge failed; fix conflicts and then commit the result.

Git status shows: both added: framework/file/name.php

If I use the git mergetool, it does not show any conflicts. Going through each file using this method takes a very long time.


So after trying all the various merge strategies, and determining that I needed to take the file mode from the repository, discarding the local file mode, the best solution I came up was to use: git checkout --theirs <remote/branch> -- path for the filemode changes, and used git mergetool for the code conflict resolution. Using git diff, I could see which files were filemode changes, and which were file code changes. git merge uses --recursive -Xours as the default merge strategy.

There is a git config variable: core.fileMode that can ignore file mode changes. See: How do I make Git ignore file mode (chmod) changes?


How about git merge -Xours branchToMergeIn? It will merge the two and give preference to your current branch. Never tried it with mode changes, but should do the trick...

edited with jeffromi's merge strategy.

0

精彩评论

暂无评论...
验证码 换一张
取 消