【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呢?

其次,我的服务器可能安装的其他版本的pythonpytorch环境,我能不能选择多个回退版本的压缩包,进行安装尝试,找到一个适合自己的安装包呢?

解决方法:

方法1: 直接下载特定版本的github压缩包。

方法2: 在本地windows电脑上安装git工具进行git reset版本回退,之后上传相应版本的安装包。

方法1:直接下载特定版本的github压缩包。

比如我现在想要下载3fe10b5这个特定版本的github压缩包。

  1. 点击apex-github官网页面上的Commits。打开相应的Commits页面。

    Commits页面中是Apex的历史提交版本和每一个版本的哈希值
  2. 找到3fe10b5这个版本,点击进入页面。
  3. 在进入的页面中,点击Browse files页面。
  4. 在打开的页面我们可以看到,我们已经进入3fe10b5github页面了。点击Download ZIP进行下载即可。

方法二: 在本地windows电脑上安装git工具进行git reset版本回退,之后上传相应版本的压缩包到服务器上。

  1. 本地windows电脑下载git工具非常简单,大家参考以下两个帖子即可:
    git的下载、安装及本地环境配置教程
    Git详细安装教程

  2. 安装好后,本地电脑一个空白文件夹中,点击Open Git Bash here

  3. 之后我们在打开的git页面,就像我们在linux bash页面中一样操作即可。

通过git log检查GitHub项目的所有提交历史,并git reset具体流程

  1. 克隆项目:在终端或命令行工具中,运行以下命令将项目克隆到本地:

    bash 复制代码
    git clone https://github.com/NVIDIA/apex

    这将创建一个名为 apex 的目录,并将项目的所有文件下载到该目录中。

  2. 进入项目目录:导航到克隆的项目目录:

    bash 复制代码
    cd apex
  3. 查看提交历史 :使用 git log 命令查看项目的所有提交历史:

    使用git log命令查看项目的提交历史。这个命令会显示每个提交的哈希值、作者信息、日期和提交信息。

    bash 复制代码
    git log

    这将显示一个包含提交记录的列表,类似于以下格式:

    bash 复制代码
    commit abc123def456ghijk789lmn012opqrs345tuvwx6
    Author: Author Name <author@example.com>
    Date:   Mon Dec 5 12:34:56 2024 +0800
    
        Commit message describing the changes made

    如果提交历史很长,你可以加上--oneline参数以简化输出:

    bash 复制代码
    git log --oneline

    您可以通过查看这些提交信息,了解项目的版本历史(如果回退版本)。

  4. 选择一个提交 :在git log输出中,每个提交都有一个唯一的哈希值(通常是前几位就可以唯一标识)。选择你想要回退到的那个提交的哈希值。一旦你确定了要回退的提交,可以使用 git reset 命令。

    • 如果你想要你自己对工作目录中的某些更改,可以使用软回退--soft
    bash 复制代码
    git reset --soft <commit-hash>	
    • 如果你想要丢弃自己对工作目录中的某些更改,使用硬回退--hard
    bash 复制代码
    git reset --hard <commit-hash>
  5. 上传到服务器:

    我们回退成功后,就把回退的文件上传到服务器上就好了。

如果你的git log无法显示你想回退的版本:

我建议还是先在网络页面上找一找。不过对git log设置一些规则也有用:

  1. 增加显示的提交数量

    使用 git log 时,可以指定显示的提交数量。例如,显示最近 100 个提交:

    bash 复制代码
    git log -n 100
  2. 使用 --since--until

    根据日期范围筛选提交:

    bash 复制代码
    git log --since="2023-01-01" --until="2023-12-31"
  3. 按作者或提交信息搜索

    如果你记得某个提交的作者或部分提交信息,可以使用 --author--grep 选项:

    bash 复制代码
    git log --author="Author Name"
    git log --grep="commit message"
  4. 使用 gitk 或其他 GUI 工具

    使用 gitk 或其他图形化工具查看提交历史:

    bash 复制代码
    gitk
  5. 查看所有分支的提交

    默认情况下,git log 只显示当前分支的提交。使用 --all 查看所有分支的提交:

    bash 复制代码
    git log --all
  6. 查看特定文件的历史

    如果你想回退到某个文件的特定版本,可以查看该文件的提交历史:

    bash 复制代码
    git log -- <file-path>

通过这些方法,你应该能够找到并定位到你想回退的具体提交。然后按照之前的步骤使用 git reset 进行回退。

参考帖子:

大家可以阅读一些相关帖子了解以下git是什么,gitgithub是什么关系,以及基本的git指令。

  1. 一文详解Git
  2. 什么是git,它们和github以及gitlab的关系是什么
  3. Git-百度百科
  4. Book - Git
相关推荐
程序员老赵15 小时前
服务器文件不想 SFTP 上传?Docker 跑个 File Browser,浏览器就能管理
服务器·docker·开源
OpenTiny社区17 小时前
从零开发 AI 聊天页要两周?试试这款 Vue3 垂直对话组件库 TinyRobot,直接开箱即用
前端·vue.js·github
逛逛GitHub18 小时前
2 万多 Star!Google 开源了这个神级 GitHub 项目。
github
逛逛GitHub19 小时前
免费 Token 烧掉 5 万亿之后,他们出了个一站式创作平台。
github
vivo互联网技术19 小时前
从 10 分钟到 1 秒:ES 深度分页任意跳页的三轮优化实战
服务器·数据库·redis·elasticsearch·深度分页
用户8055336980320 小时前
RK-Forge外设系列开篇 - 把板子从「能启动」变成「能用」:Ethernet/SPI/MMC 三个纯接线外设
linux·github·嵌入式
inhere20 小时前
eget:不用等中央仓库,直接安装 GitHub 和任意下载站的工具
程序员·开源·github
YuePeng2 天前
写了五年注解的低代码框架,2.0 决定让你连注解都不用写了
github·产品
小白ai2 天前
从"能 ping 通吗"到"为什么上不了网"——我写了一个网络故障诊断引擎
github