Git命令的使用场景

在开发中不断的使用git,就会继续的遇到新的问题。

本篇会用场景带入的方式来说明我们在不同的时候使用不同的命令。

场景1 (烦人的密码)

有时会遇到这样的问题,每次做 git push 的时候都要求输入用户名密码。

有些人会想,我都添加了SSH key了为什么还要输入用户名密码。这时候你可以看下项目中 .git/config
中remote远程地址是什么,如果是http://...这种形式的,恭喜问题找到了,把它改成git@...这种形式的地址
就不再要求输入用户名密码了。

可就是想用http://...这种形式的呢,也是有办法的,但这就跟SSH key没有半毛钱关系了。
我们可以添加配置项把用户名密码保存在本地,不用每次提交都输用户名密码了

git config --global credential.helper store

设置了这个后,再执行git push ..会提示输入用户名密码,但输入这次 之后就不会再要求输入用户名密码了

场景2 (保护现场)

我们正在开发一新功能,这时产品跑过来说有个非常紧急的小需求要开发。非常紧急的,优先级最高的那种,你们懂得。

可这是开发的新功能才写了一半的code,怎么办呢。如果不用git,我们可能会这样:

把现有的代码copy一份,在到服务器拉份最新的代码下来,然后开发那个非常紧急的需求。

当然这种做法很明显,很龊,很低效。

现在我们使用git了,我们有’银弹’ :

1
2
3
git stash 

git stash pop

第一个命令在我们突然有新需求插入时使用,它会保存下当前所有的修改文件,使工作区变成无修改的状态。

这时就可以开发新需求了,可能中间会有一系列的命令git add . >> git commit >> git push origin dev等等

在插入的新需求完成之后,就可以使用git stash pop把之前临时保存coding了一半的代码找回来,继续开发。

场景3 (同一个问题,修复了N+1次,提交了N+1次,提交记录没法看怎么办)

作为前端,遇到产品频繁改需求是比较常见的,所以很可能,同一点要改上很多次

持续更新中......