来自远程特定哈希的 git 存档
Posted
技术标签:
【中文标题】来自远程特定哈希的 git 存档【英文标题】:git archive from a specific hash from remote 【发布时间】:2017-04-30 08:23:48 【问题描述】:我正在尝试从一个远程存储库中获取一个目录,但我只想从特定哈希中获取该文件。如果我将 git archive 与 HEAD 一起使用,一切都很好,但是当我尝试使用特定的哈希时:
git archive -v --format tar --remote=ssh://....myrepo.git agithash afile > output.tgz
但我得到了
fatal: sent error to the client: git upload-archive: archiver died with error
remote: fatal: no such ref: 9a9c309
remote: git upload-archive: archiver died with error
所以我读到我可以像这样使用另一个上传存档:
git archive -v --format tar --remote=ssh:.....myrepo.git --exec="/usr/local/bin/git upload-archive" ahash afile > output.tgz
它也没有工作。我认为是因为 BitBucket 不支持 https://confluence.atlassian.com/bitbucketserverkb/git-upload-archive-archiver-died-with-error-779171761.html
所以我想知道:还有其他简单的方法可以做到这一点吗?
【问题讨论】:
【参考方案1】:如果该提交被分支引用,您可以直接在正确的提交处进行浅层克隆:
git clone <url> --depth=1 --branch <branch_name> -- <folder_name>
然后存档。
但出于安全原因,您不能directly get or clone a specific commit。
【讨论】:
以上是关于来自远程特定哈希的 git 存档的主要内容,如果未能解决你的问题,请参考以下文章
将 Git 配置为接受特定 https 远程的特定自签名服务器证书
markdown 来自远程fork repo的Git rebase
是否可以从 Git 分支(本地和远程)中删除特定的提交? [复制]