
前言:版本控制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命令排名,不分先后:
- git status
- git diff
- git add
- git pull
- git commit
- git push
- git checkout
- git reset
- git merge
记住,任何已经提交到Git的都可以被恢复。即便在已经删除的分支中的提交,重新改写的提交,都可以被恢复(关于数据恢复的内容见第九章)。所以,你可能失去的数据,仅限于没有提交过的,对 Git 来说它们就像从未存在过一样。