背景
多人协同开发使用Git操作难免会出现各种问题,最让人头疼的莫过于你也不是很清楚为什么,你的代码就跟同事的代码冲突,冲突处理起来对于一部分来说又会觉得比较麻烦。经过自己长久的实践得出一套基本不会出现冲突的操作方式。
操作
首先要注意的是git status命令的使用
通过git status用户可以查看自己所处的分支,以及代码之前的状态,首先要注意的是:
如果显示“您的分支比当前分支快”,即当前分支有人做了reset操作,此时一定要保证自己的代码与当前分支速度保持一致或者落后于当前分支,且本地无修改的时候执行git pull命令才不会有merge提示,每有merge提示出现的时候,你的分支就会有分叉出现【看分叉图】,不再会是平滑的版本【看平滑版本图】。

工作流
常规防冲突
当本地有代码需要提交的时候,首先要进行git stash操作,git stash是将你本地代码暂存在Git的工作栈里,做完其它操作再从工作栈取git stash pop出来。 git stash相关内容不做过多介绍,需要了解的自行查找详细资料。
1、git status 查看当前分支状态
2、git stash将本地代码暂存
3、git status 查看当前分支状态
4、git pull 拉代码
5、git status 查看当前分支状态
6、git stash pop将Git工作栈暂存代码释放(list查询当前栈有多少暂存)
7、git status 查看当前分支状态
8、git add . . 可以换成任何你需要提交的内容
9、git status 查看当前分支状态
10、git commit -m "record" 提交记录
11、git status 查看当前分支状态
12、git push 推送到远程分支
13、git status 查看当前分支状态
有冲突
将本地版本回退到服务器版本
1、git log 查看问题版本号
2、git reset 回退版本
回退版本有三种方式(具体区别可自行百度)
git reset HEAD^ 退到上一个commit
git reset --soft xxxxxx
git reset --hard xxxxxx
3、git add . . 可以换成任何你需要提交的内容
4、git commit -m "record" 提交记录
5、git push -f 强制推送到远程分支(不推荐)
总结
1、保证自己项目的版本库个每一条分支都没有分叉对版本控制会起到事半功倍的效果;
2、深度理解git status的使用,养成查看分支状态的习惯,不仅仅是你打出来这条命令,一定要在每一步操作都注意到分支的情况!