iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Git中的版本回退怎么实现
  • 625
分享到

Git中的版本回退怎么实现

2023-06-27 12:06:21 625人浏览 八月长安
摘要

这篇文章主要介绍“git中的版本回退怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Git中的版本回退怎么实现”文章能帮助大家解决问题。这实际的工作中,我们可能需要用到版本回退,所谓的版本回退

这篇文章主要介绍“git中的版本回退怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Git中的版本回退怎么实现”文章能帮助大家解决问题。

这实际的工作中,我们可能需要用到版本回退,所谓的版本回退,类似于撤销功能,也就是我们一直说的Ctrl + Z大法,假如我们在新开发的版本发现bug太多,需要回退上一个稳定版本或者上上个版本,就需要用了版本回退功能。

Git中的版本回退怎么实现

在你的 Git 项目的历史中,你的位置就像是摇滚专辑中的一个片段,由一个被称为 HEAD 的 标记来确定(如磁带录音机或录音播放器的播放头)。要在你的 Git 时间线上前后移动 HEAD ,需要使用 git checkout 命令。

git checkout

命令的使用方式有两种。最常见的用途是从一个以前的提交中恢复文件,你也可以整个倒回磁带,切换到另一个分支。

回退时间线

当你意识到一个本来很好文件被你完全改乱了。我们都这么干过:我们把文件放到一个地方,添加并提交,然后我们发现它还需要做点最后的调整,最后这个文件被搞得面目全非了,要把它恢复到最后的完好状态,使用 git checkout 从最后的提交(即 HEAD)中恢复:

$ git checkout HEAD filename

如果你碰巧提交了一个错误的版本,你需要找回更早的版本,使用 git log 查看你更早的提交,然后从合适的提交中找回它:

$ git log --oneline79a4e5f bad takef449007 The second commit55df4c2 My great project, first commit.$ git checkout 55df4c2 filename

现在,以前的文件恢复到了你当前的位置。(任何时候你都可以用 git status 命令查看你的当前状态)因为这个文件改变了,你需要添加这个文件,再进行提交:

$ git add filename$ git commit -m 'restoring filename from first commit.'

使用 git log 验证你所提交的:

$ git log --onelined512580 restoring filename from first commit79a4e5f bad takef449007 The second commit55df4c2 My great project, first commit.

从本质上讲,你已经倒好了磁带并修复了坏的地方,所以你需要重新录制正确的。

恢复一个文件

恢复文件的另一种方式是回退整个 Git 项目。这里使用了分支的思想,这是另一种替代方法,如果你要回到历史提交,你要将 Git HEAD 回退到以前的版本才行。这个例子将回到最初的提交处:

$ git log --onelined512580 restoring filename from first commit79a4e5f bad takef449007 The second commit55df4c2 My great project, first commit.$ git checkout 55df4c2

当你以这种方式倒回磁带,如果你按下录音键再次开始,就会丢失以前的工作。Git 默认假定你不想这样做,所以将 HEAD 从项目中分离出来,可以让你如所需的那样工作,而不会因为偶尔的记录而影响之后的工作。

如果你想看看以前的版本,想要重新做或者尝试不同的方法,那么安全一点的方式就是创建一个新的分支。可以将这个过程想象为尝试同一首歌曲的不同版本,或者创建一个混音的。原始的依然存在,关闭那个分支做你想做的版本吧。

就像记录到一个空白磁带一样,把你的 Git HEAD 指到一个新的分支处:

$ git checkout -b remixSwitched to a new branch 'remix'

现在你已经切换到了另一个分支,在你面前的是一个替代的干净工作区,准备开始工作吧。

也可以不用改变时间线来做同样的事情。也许你很想这么做,但切换到一个临时的工作区只是为了尝试一些疯狂的想法。这在工作中完全是可以接受的,请看:

$ git statusOn branch masternothing to commit, working directory clean$ git checkout -b crazy_ideaSwitched to a new branch 'crazy_idea'

现在你有一个干净的工作空间,在这里你可以完成一些奇怪的想法。一旦你完成了,可以保留你的改变,或者丢弃他们,并切换回你的主分支。

若要放弃你的想法,切换到你的主分支,假装新分支不存在:

$ git checkout master

想要继续使用你的疯狂的想法,需要把它们拉回到主分支,切换到主分支然后合并新分支到主分支:

$ git checkout master$ git merge crazy_idea

git 的分支功能很强大,开发人员在克隆仓库后马上创建一个新分支是很常见的做法;这样,他们所有的工作都在自己的分支上,可以提交并合并到主分支。Git 是很灵活的,所以没有“正确”或“错误”的方式(甚至一个主分支也可以与其所属的远程仓库分离),但分支易于分离任务和提交贡献。不要太激动,你可以如你所愿的有很多的 Git 分支。完全自由。

远程协作

到目前为止你已经在自己舒适而私密的家中维护着一个 Git 仓库,但如何与其他人协同工作呢?

有好几种不同的方式来设置 Git 以便让多人可以同时在一个项目上工作,所以首先我们要克隆仓库,你可能已经从某人的 Git 服务器GitHub 主页,或在局域网中的共享存储上克隆了一个仓库,工作在私人仓库下和共享仓库下唯一不同的是你需要把你的改变 push 到别人的仓库。我们把工作的仓库称之为本地仓库,其他仓库称为远程仓库。

当你以读写的方式克隆一个仓库时,克隆的仓库会继承自被称为 origin 的远程库。你可以看看你的克隆仓库的远程仓库:

$ git remote --verboseorigin  seth@example.com:~/myproject.Git (fetch)origin  seth@example.com:~/myproject.Git (push)

有一个 origin 远程库非常有用,因为它有异地备份的功能,并允许其他人在该项目上工作,如果克隆没有继承 origin 远程库,或者如果你选择以后再添加,可以使用 git remote 命令:

$ git remote add seth@example.com:~/myproject.Git

如果你修改了文件,想把它们发到有读写权限的 origin 远程库,使用 git push。第一次推送改变,必须也发送分支信息。不直接在主分支上工作是一个很好的做法,除非你被要求这样做:

$ git checkout -b seth-dev$ git add exciting-new-file.txt$ git commit -m 'first push to remote'$ git push -u origin HEAD

它会推送你当前的位置(HEAD)及其存在的分支到远程。当推送过一次后,以后每次推送可以不使用 -u 选项:

$ git add another-file.txt$ git commit -m 'another push to remote'$ git push origin HEAD

合并分支

当你工作在一个 Git 仓库时,你可以合并任意测试分支到主分支。当团队协作时,你可能想在将它们合并到主分支之前检查他们的改变:

$ git checkout contributor$ git pull$ less blah.txt  ### 检查改变的文件$ git checkout master$ git merge contributor

如果你正在使用 GitHub 或 GitLab 以及类似的东西,这个过程是不同的。但克隆项目并把它作为你自己的仓库都是相似的。你可以在本地工作,将改变提交到你的 GitHub 或 GitLab 帐户,而不用其它人的许可,因为这些库是你自己的,如果你想要让你克隆的仓库接受你的改变,需要创建了一个拉取请求,它使用 WEB 服务的后端发送补丁到真正的拥有者,并允许他们审查和拉取你的改变。

克隆一个项目通常是在 Web 服务端完成的,它和使用 Git 命令来管理项目是类似的,甚至推送的过程也是。然后它返回到 Web 服务打开一个拉取请求,工作就完成了。

关于“Git中的版本回退怎么实现”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: Git中的版本回退怎么实现

本文链接: https://www.lsjlt.com/news/310533.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Git中的版本回退怎么实现
    这篇文章主要介绍“Git中的版本回退怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Git中的版本回退怎么实现”文章能帮助大家解决问题。这实际的工作中,我们可能需要用到版本回退,所谓的版本回退...
    99+
    2023-06-27
  • git 怎么回退版本
    作为版本控制工具的 Git,最基本的功能就是记录项目的历史修改信息,以便于开发人员了解项目的演变过程,并且提供了一些方便的操作工具,比如回退操作,以便于开发人员在项目开发过程中更轻松地管理代码变更。Git 可以回退版本,这对开发人员来说非常...
    99+
    2023-10-22
  • 怎么使用Git实现优雅的版本回退
    这篇文章主要介绍“怎么使用Git实现优雅的版本回退”,在日常操作中,相信很多人在怎么使用Git实现优雅的版本回退问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用Git实现优雅的版本回退”的疑惑有所帮助!...
    99+
    2023-06-04
  • Git版本回退的方法
    这篇文章主要介绍了Git版本回退的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Git版本回退的方法文章都会有所收获,下面我们一起来看看吧。git reset假如我们的系统现在有如下几个提交:其中:A 和 ...
    99+
    2023-06-27
  • SVN版本回退怎么实现
    本篇内容介绍了“SVN版本回退怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Apache Subversion 通常被缩写成 SVN...
    99+
    2023-06-04
  • Git版本回退的示例分析
    这篇文章主要为大家展示了“Git版本回退的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Git版本回退的示例分析”这篇文章吧。以前,如果是要去除某一块功能,我都是选择性删除,选择性注释,...
    99+
    2023-06-27
  • idea中使用git进行版本回退
    一、在idea中查看提交的历史记录 右键单击项目单击git单击Show History 结果展示: 除了第一条记录是创建仓库默认就有的,这条默认的消息我们不用管它,其他的全部都是提交记录。 二、复制当前最新的版本号,...
    99+
    2023-09-01
    git intellij-idea java
  • win101909版本怎么退回1903
    本篇内容介绍了“win101909版本怎么退回1903”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!使用快捷方式【Win】+【i】打开【设置...
    99+
    2023-07-01
  • windows11怎么退回以前的版本
    这篇文章主要介绍“windows11怎么退回以前的版本”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“windows11怎么退回以前的版本”文章能帮助大家解决问题。windows11退回以前的版本的方...
    99+
    2023-07-01
  • idea中如何使用git进行版本回退详解
    目录一、在idea中查看提交的历史记录二、复制当前最新的版本号,以及需要回退的版本号三、执行回退操作。四、提交记录中输入最新版本号五、提交到本地仓库,然后推送到远程仓库总结:一、在i...
    99+
    2023-05-14
    idea中git版本回退 idea回退代码git idea回退git版本
  • git版本回退与恢复的命令有哪些
    这篇文章主要为大家展示了“git版本回退与恢复的命令有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“git版本回退与恢复的命令有哪些”这篇文章吧。版本回退与...
    99+
    2024-04-02
  • win10版本怎么回退文件
    这篇文章主要介绍“win10版本怎么回退文件”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“win10版本怎么回退文件”文章能帮助大家解决问题。win10版本回退文件开启方法ps:win10版本文件退...
    99+
    2023-07-01
  • win10版本回退怎么升级
    这篇“win10版本回退怎么升级”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“win10版本回退怎么升级”文章吧。使用快捷键...
    99+
    2023-07-01
  • git怎么退回来
    在软件开发过程中,Git是一个必不可少的工具。Git中的撤销操作是其中一个核心操作,能够帮助我们在错误地提交代码或者需要回退到某个特定版本的时候很方便。那么,在这篇文章中,我们将会主要讨论如何在Git中有效地撤销操作,以及如何回退到前任版本...
    99+
    2023-10-22
  • git怎么回退操作
    Git是一款流行的版本控制工具,它允许开发者管理自己的代码,并跟踪代码的变化。虽然Git的使用十分便捷,但是偶尔也会发生误操作,导致代码出现问题。在这种情况下,及时回退操作是非常重要的。那么,Git怎么回退操作呢?本文将详细介绍Git的回退...
    99+
    2023-10-22
  • git merge失败怎么退回
    Git是现在最流行的版本控制系统之一,虽然它可以帮助我们更好地管理代码,但有时候我们可能会遇到合并(merge)的问题,比如合并失败。如果Git合并失败,我们该怎么退回呢?本文将介绍几种方法。1. 强制覆盖合并在合并分支时,如果采用了“合并...
    99+
    2023-10-22
  • git怎么回退pull操作
    随着 Git 的广泛应用,有许多开发人员遇到了意外的合并,特别是在拉取(pull)操作时。遇到这种情况,一个简单的解决方案是回归到原始状态,然后重新开始一个新的分支,这样就可以避免错误的合并对项目造成影响。在本篇文章中,我们将向您介绍如何回...
    99+
    2023-10-22
  • win10无法退回老版本怎么解决
    如果你在 Windows 10 升级后发现无法退回到以前的版本,你可以尝试以下解决方法: 检查回滚选项:在开始菜单搜索栏中输入“...
    99+
    2024-02-29
    win10
  • Linux版本中Nginx平滑升级与回退
    目录一、平滑升级概述1.平滑升级的定义2.平滑升级的思路(1)关于版本和备份(2)向旧的Nginx的master进程发送USR2信号(3)向旧的master进程发送winch信号,旧...
    99+
    2023-01-31
    Nginx平滑升级 Nginx平滑升级与回退
  • win10版本回退又自动更新怎么解决
    这篇文章主要讲解了“win10版本回退又自动更新怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“win10版本回退又自动更新怎么解决”吧!首先使用快捷方式【Win】+【R】打开【运行】...
    99+
    2023-07-01
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作