git 操作

git 四个区域及其关系

在这里插入图片描述

git reset

reset 是重置的意思,即重置head的指针。head默认指向最新的commit,reset可以使head指向之前提交的历史。

reset 有四个参数:
在这里插入图片描述
前提步骤:

  1. 工作区原始状态
  2. 工作区新增一个文件 git.test
  3. git add 同步到暂存区
  4. git commit -m “第一次提交”
  5. 新增内容aaaa
  6. git commit -m “第二次提交”
  7. 新增内容bbbb
  8. git commit -m “第3次提交”
  9. 新增内容cccccc
  10. git commit -m “第四次提交”
    在这里插入图片描述
    选择reset到第一次提交的位置
    在这里插入图片描述
    在这里插入图片描述

soft

将后面的提交都放在暂存区和工作区
在这里插入图片描述

mixed

将之前提交的内容都放在工作区。此时暂存区是没有的。由于第一次后面的操作没有add操作,所以效果和soft一样。
若reset到第一次提交之前的一次提交,则出现
在这里插入图片描述
需要重新add 和commit

hard

清空之后的提交,暂存区和工作区都没有。

keep

不常用

git revert

撤销某次提交,撤销也是一种提交。之后和之前的提交不受影响。可以撤销 某次撤销操作。

git rebase

rebase 即变基。

rebase会把当前分支的 commit 放到公共分支的最后面,所以叫变基。就好像从公共分支又重新拉出来这个分支一样。

举例: 如果从 master(A-B) 拉个feature分支出来,然后提交了几个 commit(A-B-C-D),这个时候刚好有人把他开发的东西合并到 master(A-B-E) ,这个时候 master 就比你拉分支的时候多了几个 commit,如果这个时候你 rebase master 的话,就会把你当前的几个 commit,放到那个人 commit 的后面(A-B-E-C2-D2)。
注意:C不等于C2 D不等于D2。提交历史简洁

高级用法

pick-更改提交顺序 或者删除某次
record使用该commit并编辑(提交内容不变)
edit-修改某次提交 或者在多次提交之前插入一次提交
squash合并提交

git merge

merge 合并。
merge 会把a分支最新的提交和b分支最新的提交合并成一个新的提交。‘
之前的提交历史也在。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值