Git指令集合


git指令有很多,常用的也就是那么几个,今天回顾一下几个准常用,很重要的几个指令。

1. 撤销暂存区内容

当我把新建的内容通过 git add . 加入暂存区之后,发现有一个文件并不是我想要加入进去的,应当把这个文件撤销加入暂存区,可以使用如下指令:

git reset [fileName]

如想撤销已经加入到暂存区的hello.txt文件,那么执行git reset hello.txt,这个时候将会把hello.txt文件移出暂存区,相当于撤销了上面的add操作。这个时候hello.txt文件里的内容都还保存着。
如果不指定filename,那么将会把上面执行add操作添加到暂存区的所有文件都移出暂存区,即把HEAD恢复到上一次提交的状态。

git reset

这个相当于后面默认加了–soft,这样会保留更改。还有一种,是直接删除掉新加入的文件,即

git reset --hard

这个操作不但会把文件移出暂存区,还会删除掉当前文件。

2.修改commit comment

当我们做了一次commit之后,想要再修改comment,只要使用如下指令即可:

git commit --amend 

这样就可以进入vim修改commit。
这样也可以直接更改

git commit --amend -m "new comments"

3. 合并分支

3.1 git rebase

git rebase最主要的作用是变基:将分支合并,还可以避免四边形的出现。https://git-scm.com/docs/git-rebase

git rebase master feature-A

3.2 git merge

把指定分支合并到当前分支:

git merge test

4. 撤销前3次commit指令

git reset --soft HEAD~3

5. git revert

当想要把前三次commit的内容,其中第二次的内容revert掉,保留第三次的内容,即

a - b - c   master

改为只保留a和c的内容,则
先拿到b的commit id,然后直接revert内容

git revert 63c6cb7d8e7ff9c896c7f5a8ae0355bfb0304c14

这样就会删除掉b的内容更改,但是也所之前添加的b的commit不会被删除,同时会增加一个新的commit来说明加了新的revert操作。

a - b - c - d master

当然,如果删除的内容有冲突,需要修改冲突先。修改完冲突以后,和rebase操作类似,使用 --continue继续进行。

ps:这里不用自己添加comments,由系统自动生成Revert 的comment,如:


 Revert "update 3.txt -- first"

 This reverts commit b8d063d8d5c19ec1b14b1bce2ac5e45639727cae.

6. cherry pick

指令:

git cherry-pick <commitHash>

例如:
原状态

     a - b - c - d   Master
         \
           e - f - g Feature

在master分支上执行

git chery-pick f

     a - b - c - d - f   Master
         \
           e - f - g Feature

可以一次剪切多个commit。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值