zoukankan      html  css  js  c++  java
  • git 版本回退

    git reset

    首先,我们要弄清以下三条命令的区别:

    git reset –hard

    git reset –soft

    git reset

    工作区,暂存区,本地仓库,远程仓库的概念我在这里就不介绍了。这是git最为基础的概念,可自行百度。下面说说这三条 git reset 指令的区别:

    git reset –hard: 重置工作区,暂存区,本地仓库的所有文件到某一节点。例如 git reset –hard HEAD^ 表示工作区,暂存区,本地仓库的所有文件全部回退到上一个节点,也就是说你从上一个节点到这个节点之间所做的修改全部被撤销了。当然如果要回到特定的一个节点可以用 git reset –hard commitId 。通过指定要回到的节点值来回到对应的节点。

    git reset –soft:只重置本地仓库的文件,工作区和暂存区的文件不变。

    git reset 等同于 git reset –mixed,只重置本地仓库和暂存区文件,工作区文件不变。

    当我们提交完并push代码到远程仓库后,发现代码有问题,想重新提交,首先在gerrit上abandon掉自己刚才上传的代码,接着,用git reset HEAD^或者git reset –soft HEAD^回到上一个节点(git reset HEAD^后,使用git add .就相当于git reset –soft),不要用git reset –hard。因为这会把你本地工作区修改的全部撤销,这样你之前的修改就全没了。虽然也有办法再找回来,只要找到那次提交的commitId就可以了,下面会介绍。

    另外,我们还可以用git reset file 来使一个已经添加到暂存区的file文件重新返回到工作区。

    git log

    我们通过git log就可以查看到每次提交的 commitId 了,如果嫌 git log 显示的信息过多,可以使用 git log –pretty=oneline 让每次提交的关键信息在一行显示。但是如果使用了 git reset –hard,那么使用 git log 只能看到你重置点之前的提交 commitId,无法看到重置点之后的提交 commitId,要想找到重置点之后的 commitId 可以用git reflog。

    git checkout

    git checkout有两个作用,如果后面接的是文件名的话,如 git checkout file 可以将一个工作区的文件撤销其修改。如果后面接的是分支名的话,如 git checkout b表示的是切换到b分支。对于工作区新建立的文件,用 git clean -df 可将其移除工作区。

    抄袭地址:https://blog.csdn.net/foreverjqq/article/details/70827994?utm_source=itdadao&utm_medium=referral

  • 相关阅读:
    杭州西郊千湖岛-天下第一秀水
    windows phone7 豆瓣FM
    wp7 中 HubTile控件自定义大小。
    wp7 HubTile
    Windows Phone 7之XNA游戏:重力感应
    WP7:模拟开始屏幕Tile漂动效果
    windows 8 项目
    手把手教你 用 wpf 制作metro ProgressRing (Windows8 等待动画)
    windows8 开发教程 教你制作 多点触控Helper可将任意容器内任意对象进行多点缩放
    仿windows8 开始菜单 实现HubTileBase 以及仿鲜果联播实现 PulsingTile(脉冲磁贴)
  • 原文地址:https://www.cnblogs.com/yc-c/p/9376302.html
Copyright © 2011-2022 走看看