繁体   English   中英

如何使用git-archive导出特定提交?

[英]How do I export a specific commit with git-archive?

之前我问了一个类似的问题,但回答不充分,所以我想我会在这里再问,但提供更多信息。 我需要获得不同的和旧版本的git存储库,我遇到了麻烦。 我试过的是

git checkout master~X 

git archive --format zip --output /full/path/to/zipfile.zip master 

git checkout master 


git checkout master~Y 

git archive --format zip --output /full/path/toDifferent/zipfile.zip master 

git checkout master 

解压缩后,它们最终完全一样。 我无法弄清楚为什么或如何解决它。

问题

在两个示例中,您都要导出master的提示。 取出你的旗帜和参数,你有:

git archive master

换句话说,你明确地通过指定存储在.git / refs / heads / master中的任何内容作为你的树来做这件事。

解决方案

如果要导出不同的提交,则需要根据gitrevisions(7)提供树形结构。 例如,要导出提交29435bc ,您可以指定:

git archive --format zip --output /full/path/to/zipfile.zip 29435bc

解析度

这是最新版本的Git的预期行为。 远程Git存储库不允许客户端访问任意SHA1。 应该通过ref(即文件名)访问请求的对象。

混帐上传归档,归档,死亡,有错误

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM