【git reset】本地下载特定历史提交哈希值的github文件【未联网服务器】进行git reset操作
本地电脑下载git文件,并进行git reset操作
- 问题描述:
- 解决方法:
- 方法1:直接下载特定版本的`github`压缩包。
- 方法二: 在本地`windows`电脑上安装git工具进行`git reset`版本回退,之后上传相应版本的压缩包到服务器上。
- 通过`git log`检查`GitHub`项目的所有提交历史,并`git reset`具体流程
- 如果你的`git log`无法显示你想回退的版本:
- 参考帖子:
问题描述:
当我需要在【未联网的服务器
】上安装某一个git
版本对应的安装包时,就需要使用git reset
进行版本回退之后再安装。
但是服务器没有联网
,我上传github
压缩包之后,如何在未联网的服务器上进行git reset
呢?
其次,我的服务器可能安装的其他版本的python
,pytorch
环境,我能不能选择多个回退版本的压缩包,进行安装尝试,找到一个适合自己的安装包呢?
解决方法:
方法1: 直接下载特定版本的github
压缩包。
方法2: 在本地windows
电脑上安装git工具进行git reset
版本回退,之后上传相应版本的安装包。
方法1:直接下载特定版本的github
压缩包。
比如我现在想要下载3fe10b5
这个特定版本的github
压缩包。
- 点击
apex-github
官网页面上的Commits
。打开相应的Commits
页面。
Commits
页面中是Apex
的历史提交版本和每一个版本的哈希值
- 找到
3fe10b5
这个版本,点击进入页面。
- 在进入的页面中,点击
Browse files
页面。
- 在打开的页面我们可以看到,我们已经进入
3fe10b5
的github
页面了。点击Download ZIP
进行下载即可。
方法二: 在本地windows
电脑上安装git工具进行git reset
版本回退,之后上传相应版本的压缩包到服务器上。
-
本地
windows
电脑下载git
工具非常简单,大家参考以下两个帖子即可:
git的下载、安装及本地环境配置教程
Git详细安装教程 -
安装好后,本地电脑一个空白文件夹中,点击
Open Git Bash here
。
-
之后我们在打开的
git
页面,就像我们在linux bash
页面中一样操作即可。
通过git log
检查GitHub
项目的所有提交历史,并git reset
具体流程
-
克隆项目:在终端或命令行工具中,运行以下命令将项目克隆到本地:
git clone https://github.com/NVIDIA/apex
这将创建一个名为
apex
的目录,并将项目的所有文件下载到该目录中。 -
进入项目目录:导航到克隆的项目目录:
cd apex
-
查看提交历史:使用
git log
命令查看项目的所有提交历史:
使用git log
命令查看项目的提交历史。这个命令会显示每个提交的哈希值、作者信息、日期和提交信息。git log
这将显示一个包含提交记录的列表,类似于以下格式:
commit abc123def456ghijk789lmn012opqrs345tuvwx6 Author: Author Name <author@example.com> Date: Mon Dec 5 12:34:56 2024 +0800Commit message describing the changes made
如果提交历史很长,你可以加上
--oneline
参数以简化输出:git log --oneline
您可以通过查看这些提交信息,了解项目的版本历史(如果回退版本)。
-
选择一个提交:在
git log
输出中,每个提交都有一个唯一的哈希值(通常是前几位就可以唯一标识)。选择你想要回退到的那个提交的哈希值。一旦你确定了要回退的提交,可以使用git reset
命令。- 如果你想要你自己对工作目录中的某些更改,可以使用软回退
--soft
:
git reset --soft <commit-hash>
- 如果你想要丢弃自己对工作目录中的某些更改,使用硬回退
--hard
:
git reset --hard <commit-hash>
- 如果你想要你自己对工作目录中的某些更改,可以使用软回退
-
上传到服务器:
我们回退成功后,就把回退的文件上传到服务器上就好了。
如果你的git log
无法显示你想回退的版本:
我建议还是先在网络页面上找一找。不过对git log设置一些规则也有用:
-
增加显示的提交数量:
使用git log
时,可以指定显示的提交数量。例如,显示最近 100 个提交:git log -n 100
-
使用
--since
或--until
:
根据日期范围筛选提交:git log --since="2023-01-01" --until="2023-12-31"
-
按作者或提交信息搜索:
如果你记得某个提交的作者或部分提交信息,可以使用--author
或--grep
选项:git log --author="Author Name" git log --grep="commit message"
-
使用
gitk
或其他 GUI 工具:
使用gitk
或其他图形化工具查看提交历史:gitk
-
查看所有分支的提交:
默认情况下,git log
只显示当前分支的提交。使用--all
查看所有分支的提交:git log --all
-
查看特定文件的历史:
如果你想回退到某个文件的特定版本,可以查看该文件的提交历史:git log -- <file-path>
通过上述方法,我们就能尝试使用多个回退的包并尝试,然后按照之前的步骤使用 git reset
进行回退。
参考帖子:
大家可以阅读一些相关帖子了解以下git
是什么,git
和github
是什么关系,以及基本的git
指令。
- 一文详解Git
- 什么是git,它们和github以及gitlab的关系是什么
- Git-百度百科
- Book - Git