如何从GitHub项目获得某些提交

我需要从GitHub下载Facebook API。 通常情况下,我只需点击“下载”选项卡下载最新的源代码。在这种情况下,我需要一个较旧的提交: 91f256424531030a454548693c3a6ca49ca3f35a ,但我不知道如何从该提交获取整个项目…

有人可以告诉我如何做到这一点?

(顺便说一句,即时消息在Mac上,不知道这是否有任何区别)。

首先,使用git克隆版本库,例如:

git clone git://github.com/facebook/facebook-ios-sdk.git 

这下载了整个版本库的历史,所以你可以切换到任何版本。 接下来,转到新克隆的存储库:

 cd facebook-ios-sdk 

…并使用git checkout <COMMIT>改变到正确的提交:

 git checkout 91f25642453 

这会给你一个警告,因为你不再是一个分支,并直接切换到一个特定的版本。 (这就是所谓的“分离HEAD”状态)。由于听起来好像你只想使用这个SDK,而不是积极地开发它,这不是你需要担心的,除非你有兴趣找出更多关于如何工作。

当你发布这个问题时,我不知道它是否在那里,但下载提交的最好和最简单的方法是在查看存储库时单击提交选项卡。 然后,点击提交名称,点击浏览历史loggingbutton,点击提交名称/消息右侧的<>符号,最后在单击克隆时出现的下载ZIPbutton或下载button。

我希望它可以帮助你们。

Sivan的答案是gif 在这里输入图像说明

1.点击提交github

2.在每个提交的右侧select浏览代码

3.点击下载zip,它会在提交的时间下载源代码

我发现恢复丢失的提交(只存在于github而不是本地)的最简单方法是创build一个包含此提交的新分支。

  1. 打开提交(url:github.com/org/repo/commit/long-commit-sha)
  2. 点击右上angular的“浏览文件”
  3. 点击左上angular的下拉列表“Tree:short-sha …”
  4. input新的分支名称
  5. git pull新的分支git pull本地

如果你想去任何特定的提交或想要任何特定的提交代码,那么你可以使用下面的命令:

 git reset --hard <commit ID which code you want> git push --force 

例:

  git reset --hard fbee9dd git push --force 

如果你真的只是想下载一个提交,7位数的SHA1简称。

模板示例: https://github.com/username/projectname/archive/commitshakey.ziphttps://github.com/username/projectname/archive/commitshakey.zip

实际工作示例: https : //github.com/python/cpython/archive/31af650.zip

如果你有一个长的哈希键31af650ee25f65794b75d4dfefed6fe4758781c1 ,只是得到前7个字符31af650 。 这是GitHub的默认设置。