我正在尝试结帐https://github.com/Miserlou/Zappa/commit/54a6fa4542a4ae26d5a8155b63a50701ab69c1f8
。
$ git clone https://github.com/Miserlou/Zappa.git
Cloning into 'Zappa'...
remote: Enumerating objects: 15029, done.
remote: Total 15029 (delta 0), reused 0 (delta 0), pack-reused 15029
Receiving objects: 100% (15029/15029), 4.71 MiB | 932.00 KiB/s, done.
Resolving deltas: 100% (11418/11418), done.
$ cd Zappa
$ git checkout 54a6fa4542a4ae26d5a8155b63a50701ab69c1f8
fatal: reference is not a tree: 54a6fa4542a4ae26d5a8155b63a50701ab69c1f8
我在做什么错了?
答案 0 :(得分:6)
这里的问题是54a6fa4542a4ae26d5a8155b63a50701ab69c1f8
仅位于https://github.com/Miserlou/Zappa
仓库中的一半。
也就是说,如果克隆https://github.com/Miserlou/Zappa
,您将获得一个有效的存储库,其中的提交数少于3000。 54a6fa4542a4ae26d5a8155b63a50701ab69c1f8
不是其中的一项提交。
实际上,54a6fa4542a4ae26d5a8155b63a50701ab69c1f8
是另一个存储库中的提交。您可以在https://github.com/Miserlou/Zappa/pull/1762
中看到此内容,其中显示以下内容:
Open purificant wants to merge 1 commit into Miserlou:master from purificant:py37
因此,此提交更恰当地放在分支名称为purificant
的{{1}}所拥有的fork中(将鼠标悬停在某些标签上,您将在弹出窗口中看到更多详细信息)。 / p>
但是,一旦有人在GitHub上发出拉取请求,这些提交 也可以通过目标存储库使用。只是需要一些技巧:
py37
现在git fetch origin refs/pull/1762/head:refs/heads/pr1762
和git show 54a6fa4542a4ae26d5a8155b63a50701ab69c1f8
工作。
git checkout 54a6fa4542a4ae26d5a8155b63a50701ab69c1f8
(我不清楚不是我的人如何解决这个问题:-))
(我在这里使用的原始名称$ git checkout 54a6fa4542a4ae26d5a8155b63a50701ab69c1f8
Note: checking out '54a6fa4542a4ae26d5a8155b63a50701ab69c1f8'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
git checkout -b <new-branch-name>
HEAD is now at 54a6fa4 python3.7 support
不好用,我已经将其编辑为读取pr1762
。)