默认.odt文件的git diff
的默认版本未显示更改内容
二进制文件i / filename.odt和w / filename.odt不同
是否有办法显示真正更改的内容并保持文件可以由Libre Office直接编辑?
答案 0 :(得分:3)
您还可以使用Libreoffice提出的平面xml格式。
.fodt
文件格式。请参见提供良好链接的Libreoffice and version control或this answer。
通过链接:
如果文档另存为.fodt文件,则与.odt保持相同的数据 文件将包含。只是这次数据表示为 易于阅读的文本(这使得该版本的工作更加轻松 控制系统)且未压缩。因此,将文档另存为平面xml 使保持服务器空间要求和网络负载成为可能 低,以相对较低的成本在本地浪费了几千字节 硬盘。
答案 1 :(得分:1)
不要将odt文件存储在git中。您可以unzip
并存储内容,而不是XML。您可能需要将换行符直接添加到XML文件中,即IIRC,只是XML单行代码。
答案 2 :(得分:1)
注意:As mentioned,理想情况下,应避免对二进制文件进行版本控制, 当他们进行比较,整合和解决冲突时 more difficult。
在git中,您可以为每个Office文件配置一个diff driver 在比较它们之前将它们转换为纯文本表示形式。
以下是一些可以使用的工具示例:
首先,每个Office文件的文件类型都可以在
$HOME/.config/git/attributes
个文件:
*.doc binary diff=doc
*.odt binary diff=odt
*.ppt binary diff=ppt
*.xls binary diff=xls
然后,为每个文件全局配置 diff驱动程序 类型:
git config --global diff.doc.textconv catdoc
git config --global diff.odt.textconv odt2txt
git config --global diff.ppt.textconv catppt
git config --global diff.xls.textconv xls2csv
来源:https://medium.com/@mbrehin/git-advanced-diff-odt-pdf-doc-xls-ppt-25afbf4f1105
答案 3 :(得分:0)
对于基础知识,要以任何压缩的xml格式来区分文本,可以使用body
{
background-color: #ffffff;
color: #000000;
}
/* Författaren är med small caps, storlek 16, centrerad och ett radbryte på 2,5 till nästa rad (orden).*/
#author{
text-align: center;
font-variant: small-caps;
font-size: 16pt;
padding-bottom: 2.5cm;
display: block;
}
/* Ordlistans språk står centrerad med small caps och storlek 24. Ett radbryte på 1,5 läggs till nästa rasd (författare)*/
#title{
text-align: center;
font-variant: small-caps;
font-size: 24pt;
padding-bottom: 1.5cm;
display: block;
}
/* Orden ska vara till vänster med storlek 12 och visas som en punktlista. */
.words{
font-family: "Georgia", serif;
font-size: 12pt;
text-align: left;
display: list-item;
list-style: square;
padding-left:20px;
margin-left:20px;
}
来格式化xml并对其进行比较,例如,您已经完成
xmllint
,您现在可以比较git show master:summary.odt >${file1=`mktemp`}
git show feature:summary.odt >${file2=`mktemp`}
7z x -o ${extract1=`mktemp -d`} $file1
7z x -o ${extract2=`mktemp -d`} $file2
find $extract1 $extract2 -iname \*.xml -execdir xmllint --format {} -o {}.pretty \;
来查看更改了。用普通的脚手架打包,您已经有了一个基本的diff驱动程序。您甚至可以用美化的xml替换xml,对其进行编辑,重新打包,一切都可以。