工作中git的使用方法

在工作生产环境中,线上代码库的频繁变更会对本地代码提交合并造成影响。在此记录自己在工作中的git实践。

本地准备

本地设置master和dev两个分支,其中,master用于从线上拉取最新代码,以及代码的提交;dev用于本地开发。

开发代码

在dev分支中开发代码,完成某个功能以及每天结束都需要commit一次。

提交代码

  1. 切换到master分支,执行git pull拉取线上最新代码;
  2. 切换到dev分支,通过git log --graph查看本次更新一共有多少个commit;
  3. 在dev分支,执行git rebase -i HEAD~n,n为本次更新的commit个数。在打开的交互界面中,将首位commit外的pick替换为s,将所有commit合并为1个commit;
  4. 在dev分支,执行git rebase master,接下来依次处理冲突,处理完成后执行git rebase --continue
  5. 切换到master分支,执行git merge dev,再执行git push origin master:xxx_dev,其中xxx_dev为自己线上分支;
  6. 执行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了)。

posted @ 2021-06-02 21:07  tmpUser  阅读(101)  评论(0编辑  收藏  举报