工作中git的使用方法
在工作生产环境中,线上代码库的频繁变更会对本地代码提交合并造成影响。在此记录自己在工作中的git实践。
本地准备
本地设置master和dev两个分支,其中,master用于从线上拉取最新代码,以及代码的提交;dev用于本地开发。
开发代码
在dev分支中开发代码,完成某个功能以及每天结束都需要commit一次。
提交代码
- 切换到master分支,执行
git pull拉取线上最新代码; - 切换到dev分支,通过
git log --graph查看本次更新一共有多少个commit; - 在dev分支,执行
git rebase -i HEAD~n,n为本次更新的commit个数。在打开的交互界面中,将首位commit外的pick替换为s,将所有commit合并为1个commit; - 在dev分支,执行
git rebase master,接下来依次处理冲突,处理完成后执行git rebase --continue; - 切换到master分支,执行
git merge dev,再执行git push origin master:xxx_dev,其中xxx_dev为自己线上分支; - 执行
git branch -d dev,删除dev分支。
rebase的意思是将指定的节点当作base,即当前状态的所有diff都是在这个以这个base为标准的。举个例子,git rebase -i HEAD~n是将HEAD~n作为base,所以后续可以将n个commit合成1个;git rebase master是将当前的master分支作为base,所以在处理完冲突后,将dev合并到master时不会有分支(因为已经把master作为base了)。

浙公网安备 33010602011771号