【发布时间】:2012-04-05 04:26:12
【问题描述】:
我正在寻找一种简单的解决方案来制作最近更改文件的存档。
我从google得到这个简单的命令
git archive -o update.zip HEAD $(git diff --name-only HEAD^)
当我在 GIT BUSH 中运行它时,它一直在说 致命:不是有效的对象名称
【问题讨论】:
-
这来自哪个命令? (
git diff --name-only HEAD^的输出是什么?你在一个有效的存储库中,对吧?) -
git diff --name-only HEAD^ 将输出我要存档的已更改文件的列表。我已经用测试存储库测试了这个命令,它可以正常工作。它在我真正的 asp.net 项目存储库中不起作用
-
我怀疑,有些不能存档?二进制?
-
git-archive将归档任何文件 - 它们只是数据块。这里仅有的两个对象名称是HEAD和HEAD^。我试图让您检查以确保这两个都是您运行命令的存储库中的有效对象名称。例如,它可能只有一个提交,所以HEAD^没有任何意义. -
HEAD 是“你现在在哪里”(无论你在做什么提交,通常是当前分支的尖端,但如果你处于“分离的 HEAD”状态,它只是“你的提交'在')。 HEAD^ 是“从你正在进行的提交开始,返回一个提交,即,到任何提交
git log显示为它的父级。” (在合并提交的情况下,可以有多个父级;HEAD^ 选择“第一个”,并且有更多用于命名其他父级的语法。)
标签: git