快速解决Git最常见问题

严重的错误,Git怎么让我回到过去?


git reflog

你会看到你过去在所有分支上做的所有事情!每一个动作都有一个目录编号:HEAD@{index}找到你犯错之前的那条记录


git reset HEAD@{index}


你已经回到犯错之前了,你可以用这个恢复误删的文件,或者,你做了一些修改,结果事情搞得一团糟,你可以秒回之前的状态。如果你做了一次不爽的合并(merge),也可以这样反悔,总之你能瞬间回到事情都还OK的时候。



我提交了,但立马想要做一个很小的修改!


没问题,你直接先修改好,然后:


git add .    # 或添加特定文件
git commit --amend


在出现的窗口里,编辑提交说明,或者维持不变,现在你最新的提交里已经包含了这个小修改


其实你也可以把小修改当作一次新的提交,然后用rebase -i把它们合到一块儿,但上面的方法要快一百万倍。


刚才的提交说明写错了,怎么修改?


git commit --amend


在出现的窗口里编辑提交说明


我把应该提交给新分支的东西,提交给了主分支!


从当前状态的主分支上新建一个分支


git branch the-new-branch-name


取消主分支上最新的一次提交

git reset HEAD~ --hard
git checkout the-new-branch-name


好了,你的提交现在就只在这个新分支上


注意:如果你已经推送到了远程分支,那一切都晚了。


那第二行应该是git reset HEAD@{number},而不是HEAD~,以回到最初犯错的时间和地点。


我居然提交到了错误的分支上!


取消最新的提交,然后保留现场原状


git reset HEAD~ --soft
git stash


切换到正确的分支


git checkout name-of-the-correct-branch
git stash pop
git add .    # 或添加特定文件
git commit -m "你的提交说明"


现在你已经提交到正确的分支上了

我想用diff检查差别,但什么也没有?


git diff --staged


本文由Web前端精髓为

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值