我需要将一些二进制文件添加到Git存储库一段时间。 (实际上它们是ODT文档,我想连续转换为可版本化的LaTeX源文件。我希望它们在repo中,因为我在多台计算机上工作并且还与其他人共享一些工作)。 但是我希望这些二进制文件在我不再需要它们之后就被删除了。 可能这不是一个真正的问题,但为了保持一致性,我宁愿让它们从回购中清除。
所以我想的是创建一个新的分支并将二进制文件添加到它,所以所有这些文件的提交都在这个单一分支的上下文中。
如果我随后使用git branch -D
删除此分支,这些文件是否会消失,或者它们仍会作为其历史记录的一部分存在于回购中?
答案 0 :(得分:1)
他们仍然会成为隐藏历史记录的一部分:
当删除分支时,包含文件的提交将无法访问,即在查看历史记录时无法访问。它们位于对象存储区中,但没有git魔法可以查看它们。此外,它们不会在获取/拉取/克隆操作中被检索。
这些提交将在运行一些git gc
后被清除,这将删除超过2周的无法访问的提交。
答案 1 :(得分:1)
回购中还有一段时间。
首先,即使删除分支,提交仍然存在并在HEAD reflog中引用(它是最近HEAD的位置)。你可以在.git/logs/HEAD
中看到
通常,reflog会在30天后过期无法访问的引用(来自HEAD或任何分支)。您可以使用git reflog expire
强制使用reflog过期。
然后,一旦您的reflog没有引用这些提交,在调用git prune
或git gc
之前不会删除它们。 git gc
将自动修剪两周以前创建的每个悬空(意味着它们未在任何地方引用)commit / blob。
无论如何,在你的具体情况下,如果你不想在回购中使用这些文件,这可能是一个很好的迹象,你不应该把它们放在首位,并且git不是你的解决方案问题
Dropbox / google drive等解决方案。我认为会更合适。
答案 2 :(得分:0)
我尝试使用原始问题的第一条评论,我想分享我的测试结果。
如果将OpenOffice文档保存为“Flat XML”,则会获得可在Git中使用的可扩展文件格式。 虽然这是有效的,但它还远非完美,因为有一些不是“内容”的开销,而是配置信息,如时间戳,视口信息和可见按钮或其状态等。 其中很多内容也属于提交。 这是将一个段落插入空文档的差异:
diff --git a/Test2.fodt b/Test2.fodt
index 02a528a..bec4f67 100644
--- a/Test2.fodt
+++ b/Test2.fodt
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<office:document xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rpt="http://openoffice.org/2005/report" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:officeooo="http://openoffice.org/2009/office" xmlns:tableooo="http://openoffice.org/2009/table" xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0" xmlns:css3t="http://www.w3.org/TR/css3-text/" office:version="1.2" office:mimetype="application/vnd.oasis.opendocument.text">
- <office:meta><meta:creation-date>2013-02-26T08:36:00</meta:creation-date><meta:generator>LibreOffice/3.6$Linux_x86 LibreOffice_project/360m1$Build-2</meta:generator><meta:document-statistic meta:table-count="0" meta:image-count="0" meta:object-count="0" meta:page-count="1" meta:paragraph-count="0" meta:word-count="0" meta:character-count="0" meta:non-whitespace-character-count="0"/></office:meta>
+ <office:meta><meta:creation-date>2013-02-26T08:36:00</meta:creation-date><meta:generator>LibreOffice/3.6$Linux_x86 LibreOffice_project/360m1$Build-2</meta:generator><meta:document-statistic meta:table-count="0" meta:image-count="0" meta:object-count="0" meta:page-count="1" meta:paragraph-count="1" meta:word-count="2" meta:character-count="13" meta:non-whitespace-character-count="12"/><dc:date>2013-02-26T08:37:13</dc:date><meta:editing-duration>P0D</meta:editing-duration><meta:editing-cycles>1</meta:editing-cycles></office:meta>
<office:settings>
<config:config-item-set config:name="ooo:view-settings">
<config:config-item config:name="ViewAreaTop" config:type="int">0</config:config-item>
@@ -14,7 +14,7 @@
<config:config-item-map-entry>
<config:config-item config:name="ViewId" config:type="string">view2</config:config-item>
<config:config-item config:name="ViewLeft" config:type="int">6158</config:config-item>
- <config:config-item config:name="ViewTop" config:type="int">2501</config:config-item>
+ <config:config-item config:name="ViewTop" config:type="int">2988</config:config-item>
<config:config-item config:name="VisibleLeft" config:type="int">0</config:config-item>
<config:config-item config:name="VisibleTop" config:type="int">0</config:config-item>
<config:config-item config:name="VisibleRight" config:type="int">29314</config:config-item>
@@ -205,6 +205,12 @@
<text:linenumbering-configuration text:number-lines="false" text:offset="0.499cm" style:num-format="1" text:number-position="left" text:increment="5"/>
</office:styles>
<office:automatic-styles>
+ <style:style style:name="P1" style:family="paragraph" style:parent-style-name="Standard">
+ <style:text-properties officeooo:paragraph-rsid="0004a3d7"/>
+ </style:style>
+ <style:style style:name="T1" style:family="text">
+ <style:text-properties officeooo:rsid="0004a3d7"/>
+ </style:style>
<style:page-layout style:name="pm1">
<style:page-layout-properties fo:page-width="21.001cm" fo:page-height="29.7cm" style:num-format="1" style:print-orientation="portrait" fo:margin="2cm" fo:margin-top="2cm" fo:margin-bottom="2cm" fo:margin-left="2cm" fo:margin-right="2cm" style:writing-mode="lr-tb" style:footnote-max-height="0cm">
<style:footnote-sep style:width="0.018cm" style:distance-before-sep="0.101cm" style:distance-after-sep="0.101cm" style:line-style="solid" style:adjustment="left" style:rel-width="25%" style:color="#000000"/>
@@ -224,7 +230,8 @@
<text:sequence-decl text:display-outline-level="0" text:name="Text"/>
<text:sequence-decl text:display-outline-level="0" text:name="Drawing"/>
</text:sequence-decls>
- <text:p text:style-name="Standard"/>
+ <text:p text:style-name="P1"><text:span text:style-name="T1">One paragraph</text:span></text:p>
+ <text:p text:style-name="P1"><text:span text:style-name="T1"/></text:p>
</office:text>
</office:body>
</office:document>
\ No newline at end of file