【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
相关推荐
DarrenPig3 小时前
【常州工NEC】ROBOCON小白入门之路(二)2026CURC-NEC赛季规划
开源·github·交流·robocon
小技工丨6 小时前
华为TaiShan 200 2280 ARM服务器虚拟化部署完整指南
运维·服务器·arm开发
weixin_430750938 小时前
OpenMediaVault debian Linux安装配置企业私有网盘(三) 静态ip地址配置
linux·服务器·debian·nas·网络存储系统
siqiangming8 小时前
将SVN项目迁移到Git,保留提交记录
git·svn
CCPC不拿奖不改名8 小时前
两种完整的 Git 分支协作流程
大数据·人工智能·git·python·elasticsearch·搜索引擎·自然语言处理
南方者8 小时前
【Sourcetree】【Git】提交后无法推送,优雅回滚
git·版本管理·sourcetree·回滚·贮藏
ccino .9 小时前
【将更改从 GitHub Desktop 推送到 GitHub】
github
lpfasd1239 小时前
PyGithub用法详解
git·python·github
大房身镇、王师傅10 小时前
【VirtualBox】VirtualBox 7.1.6 RockyLinux10 配置增强功能 设置共享目录
运维·服务器·virtualbox·rockylinux10
betazhou10 小时前
rsync使用案例分析
linux·运维·服务器·rsync·同步数据