git的一些撤销/回退操作

在个人开发和协同开发过程中,我们是通过git把我们本地仓库和远程仓库联系起来,首先 我们要知道的是git 有工作区、暂存区和Git仓库。我们本地编写的代码,不执行git命令都处于工作区。

执行 git add 将工作区的文件标记为已暂存,添加到暂存区。

执行 git commit 将标记的已暂存的文件都保存到本地仓库。

而正常开发过程中,我们经常要使用到的git命令就是: git add、  git commit 、git push、git pull、git merge 等,但这些命令都是在一切操作都很顺利的过程下,如果需要有一些撤回和回退操作的话,又会有哪些命令可以帮助我们呢,接下来我们就一起梳理一下:

1.工作区的撤销 

本地的修改,没有操作git命令,我们可以通过git diff来查看修改的内容。

如果我们可能只是写了一些测试代码,想取消这些修改,可以通过下面命令撤销:

// 全部文件撤销
git checkout -- .

//单个文件撤销
git checkout -- [filename]

此时再 git diff 就没有输出。 注意:上面的命令一旦执行了,之前的修改就找不回来了。

2. 暂存区的撤销

 本地写完代码之后,我们会通过 git add 添加到暂存区,此时我们想看文件的修改 git diff不会输出任何东西。想查看暂存区的修改,可以执行下面命令:

git diff --staged 

这个时候可以看到我们 git add 之前一样的输出。

如果我们想将修改从暂存区撤回,可以通过下面的方式:

// 全部文件撤销
git reset .

//单个文件撤销
git reset [filename]

回到提交暂存前的工作区状态。

3. 提交到本地仓库的撤销

提交本地仓库,我们会通过下面命令:

git commit -m "commit一次"   

// 查看一下操作记录
git log

 

 想撤销这一次的commit 可以找到上一次commit的记录:

git checkout a6dbda177723c7615a095f494e6152fda12be11f

// 或者
git reset --hard HEAD~1

//再次查看日志
git log

如果不是想撤销最新一次的commit,想撤回之前的某一次commit:

git revert 99053897bc56d302af8f0d4ed68311d21af3174c

 revert之后,会在提交历史的最前面生成一个新的revert commit 记录。

4. 修改commit 的message

commit 文案写错了,然后想要修改:

git commit --amend -m "修改正确的msg"

 不会多生成一条commit记录,只是把之前的一次修改掉。

5. 合并到上一次commit

第一次修改了文件,提交了一次commit;后面又修改了一些东西,不想生成两条commit:

git commit --amend

 6.撤销merge

如果git merge 分支之后有冲突,想先撤回这次merge:

git merge --abort

因为最近的工作过程中,有一些意外情况进行了一些git的回退操作,所以总结了以上几种回退和撤回操作,也希望可以给大家带来一些帮助~

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值