git与工作场景结合
前言:版本控制git,结合工作中常面对的git问题。
早上八点闹钟响了,小基睁开了眼睛,将双臂展开手放在后脑勺,想着昨天晚上在酒吧碰到的那个女孩。
吧台上小磊幽默风趣加上酒吧昏暗暖色调的灯光,逗得女孩发出铃铃般的笑声,两人谈着工作谈着人生理想
女孩问他:你觉得生活的目的是什么
小磊抬头四十五度缓缓的说到:努力工作学习,让自己的生活有更好的保障,收获自信和快乐,能过照顾好我最关心的人,这样我就可以更加心无旁骛的追寻自己的人生理想和意义了。
女孩用迷恋的眼神看着这个外表稚嫩帅气,内心成熟的男孩。
我该走了,有机会我们再聊,小基说着拿起了自己的电脑包准备离开。
那个,我家的床塌了,今晚能去你家借宿一晚?女孩追上去说完便害羞的转了过去。
看着娇小可怜的背影,女孩身上淡淡的茉莉香一点一点侵蚀着我的大脑,上头。
正要答应时小磊脑海环绕着离家时妈妈的嘱咐,千万不能带陌生人回家,便摸了摸女孩的头说,我家的床太小了。
庆幸自己昨晚没有答应带她回来睡觉,不然出租屋内一米宽的小床睡两人着实太挤,睡不好的话第二天工作会没状态。
此时合租同学滋*的声音把我拉回现实,洗漱一下,得去天通苑挤地铁了。
打开电脑,左右显示屏开启一天的工作
情景一
技术老大:你上次开发的新功能可以并到main分支上测试了。
如下:
操作:
- 先让自己dev分支上的工作区保持干净 --- 将代码git add 提交到暂存去再git commit -m 提交到git仓库
- 切换分支到main并拉取最新的代码 --- git checkout main & git pull
- 将dev上面的代码合并到main --- git merge dev
如果此时冲突别乱合并,避免遭其他同事毒打。正确操作时没一个你没有把握的冲突都得问一问。
情景二
技术老大:你上次开发的新功能(有1,2,3,三个小功能)中的2功能并到main上测试。
如下
操作:
- 先让自己dev分支上的工作区保持干净 --- 将代码git add 提交到暂存去再git commit -m 提交到git仓库
- 切换分支到main并拉取最新的代码 --- git checkout main & git pull
- 查看iss55提交的版本号 --- git reflog
- 用cherry-pick 取出提交 --- git cherry-pick 84d2f15
解决冲突即可
情景三
当你正在进行项目中某一部分的工作,里面的东西处于一个比较杂乱的状态,而你想转到其他分支上进行一些工作。问题是,你不想提交进行了一半的工作,否则以后你无法回到这个工作点。解决这个问题的办法就是git stash命令。
养成好的习惯每次操作之前都要git status看看状态。(图一)
当你想知道文件有哪些改变的时候git diff(图二)
这时你可以开始秀了,
使用git stash(图三)
看你是工作区干净了你可以切换到其他分支了,如果你是在图一这种状态下是不能切换分支的,你可以试试。
最后在回到这个分支,使用git stash apply 默认使用最近的存储,你也可以使用git stash list看看里面有那些存储
git命令排名,不分先后:
- git status
- git diff
- git add
- git pull
- git commit
- git push
- git checkout
- git reset
- git merge
记住,任何已经提交到Git的都可以被恢复。即便在已经删除的分支中的提交,重新改写的提交,都可以被恢复(关于数据恢复的内容见第九章)。所以,你可能失去的数据,仅限于没有提交过的,对 Git 来说它们就像从未存在过一样。