git操作常见问题(持续更新ing)

  【微信公众号:二哈Java带你飞】:力求用通俗易懂、诙谐有趣的方式与大家分享知识,让大家在学到东西的同时体验到编码的乐趣╰(°▽°)╯

1.local branches是本地分支,Remote Branches(origin)是远程分支
当我们本地分支出了很多问题,在删除本地这个分支不会丢失太多代码的情况下可以直接删除本地的,重新check out远程的重建本地分支(也就是重新拉份远程新代码)
图1

2.当发生冲突不小心关闭弹框,再拉代码发现冲突弹框不显示了,我们可以手动在show Diff with Working Tree里边来可视化解决代码冲突问题
图2
图3

3.可以通过reset Head来删除commit记录(mix:只删提交的信息记录不删代码,如果要推送最新代码还需commit。hard:会删除提交的信息和代码。一般这两种比较常用)
图4
图5
//Reset Type 有三种:
Mixed:回退commit,保留源码(默认方式).
Soft:回退至某个版本,只回退commit信息
Hard 彻底回退,本地源码也会变成上一个版本内容,不保留之前 commit 的代码
To Commit 是回滚到哪个版本,例如,HEAD 为当前版本,HEAD^ 为上一个版本;(^个数为版本个数)
使用 git reset 回滚一般使用默认的 mixed 或者粗暴的 hard 方式;

//revert(撤消操作):撤销某次操作,此次操作之前的commit都会被保留. git reset 是撤销某次提交,但是此次之后的修改都会被退回到暂存区.

//reset与revert的区别
git revert是用一次新的commit来回滚之前的commit,git reset是直接删除指定的commit。
在回滚这一操作上看,效果差不多。但是在日后继续merge以前的老版本时有区别。因为git revert是用一次逆向的commit“中和”之前的提交,因此日后合并老的branch时,导致这部分改变不会再次出现,但是git reset是之间把某些commit在某个branch上删除,因而和老的branch再次merge时,这些被回滚的commit应该还会被引入。
git reset 是把HEAD向后移动了一下,而git revert是HEAD继续前进,只是新的commit的内容和要revert的内容正好相反,能够抵消要被revert的内容。

4.在settings里边设置好git路径,以后可以在idea的terminal(控制台)上用git命令操作
图6

5.切换分支时,如果本地代码有未commit的,会出现下面弹框。force会强行切换,且导致原来分支写未commit的代码丢失;smart会把当前未提交的代码到新分支上。可以通过stash做暂存处理
图7

6.当前分支如果有代码冲突或者写了些代码想切分支,可以先保存到stash里,做好标注,然后切分支,以后回来的时候再unstash取出我们之前保存的代码(小建议:在某个地方stash代码时可以用//TODO标注下该处stash信息,避免日后遗忘)
图8

7.:当分支打包上线后,按照代码规范我们就别在这个分支上再写代码了,因为后期该分支可能会被删除,如果要修改上线分支的代码,应该重新建个新分支,把当前代码弄到新分支上进行操作




tips:后续会不断更新,点赞、收藏、关注三连,感谢您的支持!
关注公众号,和小哈一起快乐学习,快乐成长

【关注微信公众号,快来和小哈一起快乐学习,快乐成长】

  • 16
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暴走吧哈士奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值