首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Git基础-git的历史版本查看与版本回退(版本切换)

1.谈一谈git中的版本回退 1.我们在git中的每一次 git commit 操作就会提交一个历史版本; 2.每一个历史版本都有一个唯一的hash值进行记录; 3.每一个历史版本实际上就是我们对工作区中的内容修改的一次记录...------------------------------------------------------------------------------- 5.在git的版本管理中,有一个叫做`HEAD...git log 和 git reflog 的区别: git log : 只展示 当前版本之前的版本,即HEAD指针指向的版本及之前的历史版本; git reflog...$ git reflog -n 2 3.git的版本回退操作(*) 操作思路 : 1.使用 git log 或者 git reflog 命令 获取到要回退或者切换的版本id...下面看一下具体的操作 1.查看所有的历史版本 2.穿梭到最新的版本 78fa619 版本上 4.扩展 git reset 的其他参数(了解) git reset --soft :1.仅在本地版本库移动指针

3.3K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    版本控制-git的使用

    我相信大家很多人在进行版本控制时往往都是使用复制的方式,不过这样做的后果是 1.需要程序员自己记住每一个复制所对应的版本是多少, 2.项目回退时很容易混淆当前的工作路径,并且对以前的版本进行修改,导致以前的版本被错误的修改...3.多人合作时,会出现大家操作的项目的版本不一致的现象 所以我们需要一个版本控制软件来帮助我们进行版本控制,减少我们记忆上的负担和使版本控制变得简单易操作 一、什么是git Git是一个开源的分布式版本控制系统...Git既可以用于个人的,本地的版本控制,又可以在多人合作时,将版本备份到服务器,保证多人间版本的一致性 二、git的安装 下载地址 https://code.google.com/p/msysgit/downloads...2. ls 命令显示中文文件名 最常用的用于显示目录和文件名列表的命令 ls 在显示中文文件名的时候也有问题。...中文会显示为乱码 可以将alias ls="ls --show-control-chars" 添加到配置文件 /etc/profile 的最后面,用一个空格与原有的内容分开即可,可实现在每次运行 Git

    1.1K80

    git的使用步骤_git版本控制

    一、安装git 二、配置git 三、初始化本地仓库 四、将当前目录的文件纳入版本控制 五、查看仓库当前文件提交状态 一、安装git 在网上下载git,并安装 安装完成后,如下图:右键鼠标会有 Git GUI...Here 和 Git Bash Here 二、配置git 在git中设置当前使用的用户是谁,用户名和邮箱仅仅是用来区分开发人员的身份,不一定真实存在 git config --global user.name...push.default simple //让全局配置生效 三、初始化本地仓库 在需要用 Git 管理的目录执行git init,对其进行初始化(初始化为本地仓库) 初始化后,在当前目录下会出现一个名为....git 的目录,所有 Git 需要的数据和资源都存放在这个目录中。...四、将当前目录的文件纳入版本控制 将当前目录下的文件纳入版本控制 (1).使用 git add 命令将文件提交到暂存区 git add [具体文件名]:将某个文件提交 git add ./ :将当前目录的所有文件提交

    50420

    Git多分支版本合并错误,使用revert回滚的问题

    假设我们有三个分支,dev1.1是当前代码开发的版本分支,dev是开发环境上部署的版本分支,test是测试环境上部署的版本分支,正常的合并操作应该是dev1.1->dev->test。...(下图为错误理解示意图) 而实际上revert回滚操作相当于一次commit,即将上一次提交的操作删除后再次提交。...,提交,接下来按原有流程合并即可dev1.1->dev->test 手动将合并到dev之后删除的A代码加上的时候,可以在gitLog上选择合并前上一次记录的文件,在本地使用Reset Current...Branch to Here操作,但是这个只能一个文件一个文件的执行 或者使用git cherry-pick(可以理解为”挑拣”提交),它会获取某一个分支的单笔提交,并作为一个新的提交引入到你当前分支上...参考:https://chenchenchen.blog.csdn.net/article/details/112681902 修复前后整个gitLog显示如下(新->旧) 恢复之前版本,reset

    1.7K20

    【GIT版本控制】--GIT的基本概念

    当学习GIT的基本概念时,理解仓库(Repository)、提交(Commit)、分支(Branch)和合并(Merge)是至关重要的。这些是IT的核心概念,对于有效使用GIT非常关键。...仓库包含项目的所有文件和文件夹,以及与这些文件的版本控制历史相关的信息。您可以将仓库视为项目的“快照”,它记录了项目在不同时间点的状态。 二、提交(Commit): 提交是GIT中保存项目更改的方式。...每个提交都具有唯一的标识符(哈希值),它包含了更改的内容、提交者的信息、时间戳以及一个指向上一个提交的引用。提交是GIT版本控制的核心,使您能够跟踪项目的历史和演变。...分支是基于现有提交创建的,并可以用于添加新功能、修复错误或进行实验性开发。每个分支都有自己的提交历史,但可以与其他分支合并以共享更改。...理解仓库、提交、分支和合并使您能够跟踪项目的历史、管理多人协作、在不同分支上进行实验性开发,并确保项目的不同部分在合并时保持一致。

    21240

    Git 版本控制的核心概念

    Git 是本地的,GitHub 是一个基于云的应用,它们是两个完全不同的东西,尽管目的相同。 什么是版本控制?...这就像是在狂野的西部一样。?+? Git解决了这个问题? 也许你已经在自己的项目中增加了一个新功能,破坏了以前工作得很好的东西,但不知道在哪里找到错误或如何解决它。...安装 首先,你可能已经安装了Git。打开终端或命令提示符并尝试运行 git --version。如果它显示了版本号,请跳过后面这一步。如果它提示不知道你的 git 是什么意思,你需要安装它。...我将用 Git 添加文件的文件名: git add README.md git status ? 再次使用 git status ,显示在暂存区域有一个新文件,但它现在变成了绿色!...同样,我计划在另一个时间覆盖分支,但这只是为了说明 Git 在保存多个版本的代码时是一个非常强大的工具。 结论 关于 Git 你可以学到一百万个东西,但如果不了解核心概念,它总会显得有点神秘。

    99050

    git版本控制工具的使用

    在git文件夹中可以看到2个exe程序 1.git-bash.exe 2.git-cmd.exe 这两个exe程序第一个跟最后一个都是一样的.代表我们要用git命令去操作.命令行模式....在介绍git之前.我们先熟悉下命令行操作....ll 显示当前所有文件 pwd pwd显示当前目录 三丶Git仓库 1.配置仓库信息 我们首先第一步就是配置以下信息.因为git协作处理.每个人都要有自己的身份信息才可以....git log / git log --pretty=oneline 第一种显示的全一点,第二种省略了不必要的信息 git status 查看当前缓存区的状态(是否有文件,是否更改了...)...git diff HEAD -- 你的文件 5.工作区撤销修改 有的时候我们的工作区修改了,也add 到了缓存区域了,此时没有进行提交到版本库.但是出现了一个问题.我们不能提交.因为我写的错误的.此时怎么办

    1K30

    Git 如何优雅的版本回退?

    介绍 在版本迭代开发过程中,相信很多人都会有过错误提交的时候(至少良许有过几次这样的体验)。这种情况下,菜鸟程序员可能就会虎驱一震,紧张得不知所措。...git reset 假如我们的系统现在有如下几个提交: ? Git如何优雅的进行版本回退? 其中:A 和 B 是正常提交,而 C 和 D 是错误提交。现在,我们想把 C 和 D 回退掉。...git revert git revert的作用通过反做创建一个新的版本,这个版本的内容与我们要回退到的目标版本一样,但是HEAD指针是指向这个新生成的版本,而不是目标版本。...假如现在有三个提交,但很不巧的是,那个错误的提交刚好位于中间。如下图示: ? Git如何优雅的进行版本回退?...在企业里,应尽量使用 git revert 命令,能不用 git reset 命令尽量不用。

    2K20

    git版本超前了N个版本且落后了N个版本的解决办法

    当遇到该问题的时候,一般情况下我们会首先拉取,紧接着就出现了一系列问题………… 其实当输入命令,git pull的时候,会报错,这时瞬间就感到凌乱了&……*%%*%………… 莫慌…… 这时输入任何命令:...git merge 、git checkout 、git rebase……等等都报错,看英文提示,报错原因为,有未合并的文件,看右边分支名旁边写着 MERGING,这时就要查看是否有文件冲突没有解决了。...解决完冲突之后,按正常步骤提交:  git add 文件名   git commit -m "合并" 这时其他命令就可以正常执行了,即已经合并,再把没有推送的推送了就可以了。...【遇到这种问题,看着一堆英文报错很揪心的时候,可以输入 git status,他的提示是最明了易懂的了。】  ? ? ? ? ? ​

    1.8K100

    git版本库代码回退的技巧

    git协同开发的完整示例 git能帮助我们高效地进行代码托管,在使用git进行代码托管的时候,有时候我们需要回退版本。本文我们将一起来研究代码回退的方法。...在git中,HEAD指针指向我们当前分支的最后一次提交。比如我们提交过三个版本,那么此时HEAD指针位置如下图 git版本回退会变更HEAD指针的位置,本文中,我们分别介绍两种代码回退的方式。...…可以撤回到很多版本之前 如果要撤回具体某个版本的提交,可以使用以下命令格式 git revert 版本ID 3. git reset 指令 git reset指令的作用是重置HEAD的位置,将代码重置到某个版本...上面几个参数可以存在以下区别 –mixed(默认):将版本库的代码重置到某个版本,将重置的更改留在工作区中。 这个模式只是重置git版本库中的版本,工作区中的代码不变。...–soft:将版本库的代码重置到某个版本,将重置的更改保存在暂存区。 这个模式在重置git版本的同时,会改变工作区中代码,将变更的内容放在暂存区。如果我们确定重置,提交代码生成新版本即可。

    1.5K10

    Git版本回退方法论(可能解决你101%遇到的Git版本问题)

    1 本地回退 你在本地做了错误的 commit,先找到要回退的版本的commit id: git reflog ?...接着回退版本: git reset --hard cac0 cac0就是你要回退的版本的commit id的前面几位 回退到某次提交。回退到的指定提交以后的提交都会从提交日志上消失。...结合git reflog找回提交日志上看不到的版本历史,撤回某次操作前的状态 这个方法可以对你的回退操作进行回退,因为这时候git log已经找不到历史提交的hash值了。...2 远程回退 2.1 回退自己的远程分支 你的错误commit已经推送到远程分支,就需要回滚远程分支。 首先要回退本地分支: git reflog git reset --hard cac0 ?...一下,或者他们直接用的SourceTree这样的图形界面工具,一看到界面上显示的是推送的提示就直接点了推送按钮,卧槽,辛辛苦苦回滚的版本就这样轻松的被你猪一样的队友给还原了,所以,只要有一个队友push

    2.5K20

    Git版本回退方法论(可能解决你101%遇到的Git版本问题)

    1 本地版本回退 你在本地做了错误的 commit 先找到要回退的版本的commit id: git reflog ?...接着回退版本: git reset --hard cac0 cac0就是你要回退的版本的commit id的前面几位 远程分支版本回退 回滚自己的远程分支 你的错误commit已经推送到远程分支,就需要回滚远程分支...一下,或者他们直接用的SourceTree这样的图形界面工具,一看到界面上显示的是推送的提示就直接点了推送按钮,卧槽,辛辛苦苦回滚的版本就这样轻松的被你猪一样的队友给还原了,所以,只要有一个队友push...用另外一种方法来回退版本。 公共远程分支版本回退 使用git reset回退公共远程分支的版本后,需要其他所有人手动用远程master分支覆盖本地master分支,显然,这不是优雅的回退方法。...命令的好处就是不会丢掉别人的提交,即使你撤销后覆盖了别人的提交,他更新代码后,可以在本地用 reset 向前回滚,找到自己的代码,然后拉一下分支,再回来合并上去就可以找回被你覆盖的提交了。

    1.1K41

    Git详细教程 – 版本库的创建和添加内容到版本库

    版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以...创建版本库 1、选择一个合适的地方,创建一个空目录: $ mkdir webxiu $ cd webxiu $ pwd /Javanx/webxiu pwd命令用于显示当前目录。...版本控制系统可以告诉你每次的改动,比如在第5行加了一个单词“Linux”,在第8行删了一个单词“Windows”。...原因是Microsoft开发记事本的团队使用了一个非常弱智的行为来保存UTF-8编码的文件,他们自作聪明地在每个文件开头添加了0xefbbbf(十六进制)的字符,你会遇到很多不可思议的问题,比如,网页第一行可能会显示一个...,明明正确的程序一编译就报语法错误,等等,都是由记事本的弱智行为带来的。建议你下载Notepad++代替记事本,不但功能强大,而且免费!

    77730
    领券