zoukankan      html  css  js  c++  java
  • Git 使用技巧--撤销修改

    先贴上原文地址:https://blog.csdn.net/lxzcaicai/article/details/104712128

    今天使用Git的时候已经把修改的内容提交过工作区了,但是发现提交前分支忘记切换了,所以就在网上找了一下撤销的方法,在这里做一下记录。

    1、未使用git add 的时候----在工作区
    git checkout -- filepathname //放弃修改某个文件
    例如: git checkout -- readme.md
    git checkout .  //放弃所有修改的文件
    
    git restore . //放弃所有修改的文件
    2、已经使用git add 的时候----在暂存区
    git reset HEAD filepathname //恢复某个文件到工作区
    例如: git reset HEAD readme.md
    git reset HEAD . //恢复所有文件到工作区
    git  reset  //恢复所有文件到工作区
    
    注意:这里只是恢复到了工作区,如果想放弃修改的代码还需要执行步骤1(工作区)中的操作
    3、已经使用git commit提交的了代码----在版本区(本地仓库)
    1、如果你想全部撤回并回到远程仓库最新的状态(不保存代码修改)
    	1、git reset --hard HEAD^ //回退上一次commit的状态
    		//或git reset --hard commit_id //回退某个版本+id号就行
    	2、git pull //拉取一下远程最新的
    2、如果你想拉回工作区并保存修改。只撤销 commit 和 add(保存代码修改)
    		git reset --mixed HEAD^
    		或
    		git reset HEAD^
    3、如果你想撤销commit 但是不撤销 add(保存代码修改)
    		git reset --soft HEAD^ //只撤销了git commit , 修改后的代码还在暂存区
    4 、终极版,由于你太懒,不管是暂存区,版本区,你只想撤销修改并回到远程最新的版本(不保存代码修改)
     	1 、git fetch --all
     	2、git reset --hard origin/master //git reset --hard origin/远程分支名
    	注意:这里只在暂存区和版本区
    4、如果你git push 到了远程分支,这时候你后悔了怎么办
    胆小误试,搞之前记得做备份
    第一种
    回滚远程分支的最近一次提交
    git revert HEAD
    git push origin 分支名
    例如:我刚在master分支提交了一次
       git revert HEAD
       git push origin master
    慎用啊~~~这种方式会在远程生成一个版本号
    
    第二种
    git reset --hard HEAD^ //回退上一个版本
    或
    git reset --hard commit_id //回退到某个版本 id就是你的版本号
    git push origin HEAD --force //强制推送到远程,可能会受到保护
  • 相关阅读:
    github 上中国互联网公司的开源项目
    execve(".. ",[".. ",".. "],[/* ..*/])第二个 参数 数组硬传
    1506-122 (S) Expecting pointer to struct or union.
    徘徊~2013.7.31
    myeclipse2014 maven4eclipse配置
    01--maven安装与环境配置(windows)
    java宽度优先将二叉树存成数组
    java宽度搜索打印二叉树
    Jquery中bind绑定和on绑定的区别
    java设计模式singleton原理及实现(java1.4前不要使用双重锁保证线程安全)
  • 原文地址:https://www.cnblogs.com/jinyu-cnblogs/p/13445130.html
Copyright © 2011-2022 走看看