我正在浏览Git Book中的manual re-remerge文档。尝试对三个merge-file
文件执行.rb
时,Git会抱怨。
git merge-file -p simple.ours.rb simple.common.rb simple.theirs.rb > simple.rb
error: cannot merge binary files: simple.ours.rb
从阅读How to determine if Git handles a file as binary or as text?我明白Git将文件检测为二进制而不是文本。
显然,Git会将前八个字符中NUL
字节的任何文件评估为二进制文件。我在notepad2和vim中打开了每个* .rb文件,但没有看到任何NUL
个字节。这些文件只包含以下内容(略有差异):
#! /usr/bin/env ruby
# print a greeting
def hello
puts 'hello world'
end
hello()
一些注释:
dos2unix
个文件上反复运行unix2dos
和*.rb
为什么Git将这些文件评估为二进制文件?我该如何解决这个问题?