在“git merge”中,我希望任何差异,即使不是通常的合并冲突,也被视为合并冲突。然后,使用“git mergetool”,我可以查看和解决每一个差异。我尝试在.gitattributes中指定“* -merge”,但似乎没有起作用:
对于上述的“git合并插件”,我预期在没有基础版本、本地版本和远程版本的情况下,对于“bar.c”会出现合并冲突。[编辑]如一个回答中所建议的,上面并没有发生合并。这里是一个我强制合并的案例,但仍然没有达到预期的合并冲突。
请注意,上述中的“bing.c”实际上是空的;但是,这并不是问题,因为提供非空文件仍然会被合并。[编辑2]我尝试使用--no-commit选项,结果如下:
$ git checkout master
Switched to branch 'master'
$ ls
foo.c
$ git merge add-on
Updating a628824..2219552
Fast-forward
0 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 bar.c
$ cat .gitattributes
* -merge
$ ls
bar.c foo.c
对于上述的“git合并插件”,我预期在没有基础版本、本地版本和远程版本的情况下,对于“bar.c”会出现合并冲突。[编辑]如一个回答中所建议的,上面并没有发生合并。这里是一个我强制合并的案例,但仍然没有达到预期的合并冲突。
$ git merge --no-ff add-on
Merge made by the 'recursive' strategy.
0 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 bing.c
请注意,上述中的“bing.c”实际上是空的;但是,这并不是问题,因为提供非空文件仍然会被合并。[编辑2]我尝试使用--no-commit选项,结果如下:
$ git merge --no-ff --no-commit add-on
Automatic merge went well; stopped before committing as requested
$ git status
# On branch master
# Changes to be committed:
#
# new file: boom.c
#
$ git mergetool
No files need merging
$ cat .gitattributes
* -merge
我还缺少什么?有没有办法确认“.gitattributes”是否正在被使用或读取?
merge
属性才适用。 - Lily Ballard