I asked a similar question before, but it was answered inadequately so I thought I would ask again here but providing more information. I need to get different and older versions of a git repository and I'm having trouble with that. What I've tried is
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
After unzipping both, they end up being exactly the same. I can't figure out why or how to fix it.
In both your examples, you are exporting the tip of master. Take out your flags and arguments, and you have:
git archive master
In other words, you're explicitly doing this to yourself by specifying whatever is stored in .git/refs/heads/master as your tree-ish.
You need to provide a tree-ish in accordance with gitrevisions(7) if you want to export a different commit. For example, to export commit 29435bc, you could specify:
git archive --format zip --output /full/path/to/zipfile.zip 29435bc
Resolution
This is an expected behaviour for the newest versions of Git. Remote Git repositories do not allow clients to access arbitrary SHA1s. The requested objects should be accessed by a ref (i.e. file name).
git-upload-archive-archiver-died-with-error
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With