git在使用过程中常用的部分撤销操作

      日常使用git对代码进行管理管理过程中,经常会发现自己更改的文件或者前面某些操作出现了错误或者误操作的情况,此时我们通常需要通过某些命令来恢复自己原有的版本文件或者撤销此前的命令效果。常用的一些恢复和撤销命令主要有:git reset git checkout git revert等,具体如下:

    恢复未提交的文件(git reset)

    git reset常用的参数主要有三种soft、hard和mixed。

    git reset --soft commit_Id :将头部指针指向指定的提交commit_Id,此时的暂存区和工作树的内容都不将发生变化,如果要恢复以前的提交,只需一下几步即可:

                                   git status :查看暂存区状态

                                   git commit -m "提交信息“

                                     或

                                  使用 git reset last_Id进行强制恢复(只恢复了本地仓库的代码,对远程版本库没有影响)。

      完成重新提交即可。

    git reset --mixed commit_Id: git reset命令在不加参数时默认为 --mixed,将头部指针指向指定的提交commit_I,且暂存区内容将发生变化,但是工作树内容将不发生改变。

   git reset --hard commit_Id: 将头部指针指向指定的提交commit_I,且暂存区内容工作树内容都将发生改变,工作树中原有的改变会丢失(慎用)。

注意:git reset只是在对HEAD指针进行移动,且Commit_Id之后的提交都不显示,个人认为适用于提交数量比较少或某些历史提交不需要的情况,且git reset只适合用于本地版本库,而一旦将提交推送至远程共享仓库之后,绝对不能用git reset,git reset不适用于公共修改。

   如果仅需要恢复某个文件 file_Id,则只需要使用git checkout file_Id命令即可,命令功能:将文件file_Id从HEAD中检出,放弃工作树中file_Id文件的原有更改,从而实现将文件恢复到上次提交原有的样子。

  恢复已经提交的文件(git revert)

  项目开发中通常都是多人在同一个远程版本库中进行操作,此时其它人很可能会用到我们以前提交过得版本中的文件,因此不能使用git reset随便命令将历史提交删除,这样很容易影响其他人的工作,而此时git revert便应运而生了,相关命令如下:

                     git revert HEAD 回撤当前的提交

                     git revert HEAD 回撤上一次提交

                     git revert Commit_Id 回撤某个指定提交

思考:git revert 和 git reset有什么不同呢,请继续往下看...............

git revert 与git reset的最大的区别就是,它是在Commit_Id提交的基础上进行撤回操作,过程中并不会影响Commit_Id提交,也就是说Commit_Id在

                                                        git log

时会依然存在。它是通过生成一个新的提交的方式来进行撤回,也就是说生成了Commit_Id之前的一个提交版本,从而避免了影响远程版本中他人的操作。

  


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值