这些git命令也太好用了叭~

11 篇文章 1 订阅
1 篇文章 0 订阅

总结一波很少人知道但是很好用的git命令

情形一: 你已经执行了git add .和git commit -m ‘xxx’,但是你突然发现你改的一些东西有点问题,但是你又不想放弃修改,这时候可以使用git reset HEAD^
情形二: 你在一个分支改东西改到一半,突然另一个分支的版本出现了特别紧急的问题,只能先放下手中一半的工作,去另一个分支,但是因为你本地有修改,切换分支就会报错, 你不想放弃当前的修改,也不想push写了一半的代码, 提供两种方法

  1. 当你没有新增文件,只在原来存在的文件中做了修改时,你可以用git stash,然后你的修改就被暂存起来了,此时你就可以切换分支了,等你改完问题切回这个分支,使用git stash pop就可以将你之前的修改拿回来了~如果你本地新增了文件,使用git stash时新增的文件不会被暂存
  2. 不管你本地有没有新增文件,使用git add .和和git commit -m ‘xxx’,然后切换到另一个分支,修改完问题后再切回来,使用git reset HEAD^,这时候你又可以继续写你开始没写完的代码啦

情形三: 你执行了git add .和git commit -m ‘xxx’,然后你忘了先pull代码,push的时候发现有了冲突,突然觉得脑袋好懵啊,我该怎么操作才能既pull云上最新的代码,首先使用git log查看提交的日志,比如显示是:

commit efd8df7985fdb62fc
Author: xxx
Date:   xxx
fixed:  xxx描述1

commit 1cc77eb74103612
Author: xxx
Date:   xxx
fixed:  xxx描述2

第一个是commit1,第二个是commit2,commit1是你刚提交的,commit2是你没有修改的时候拉的云上的代码,但是在你修改的期间别人可能已经提交了一个commit,这时候可以使用git reset --hard 1cc77eb74103612回到commit2,然后git pull拉云上最新的代码,这时候你发现你的修改不在了,使用git relog可以看到你的
efd8df7985fdb62fc dev) HEAD@{3}: commit: fixed: xxx描述1
1cc77eb74103612 dev) HEAD@{3}: commit: fixed: xxx描述2
然后使用git cherry-pick efd8df7985fdb62fc拿到你自己的改动就好了,但是可能会有冲突,剩下的就是解决冲突了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值