git基础命令4:对应简化版本提交记录

随着开发时间的增加,版本提交记录可以会比较多比较乱,开发者会希望可以简化版本提交的记录,于是git的rebase变基操作应运而生。

接下来讲解rebase的常见使用方法。

场景1:某支线上提交版本次数过多,以master为例。
第0步:切至master支线,输入命令git checkout master
第1步:查看版本提交记录,输入命令git log
第2步:复制指定版本号,输入命令git rebase -i 版本号,便可将支线上该版本到最新版本的提交记录都合并为一条;如果不想这么操作,也可以输入命令git rebase -i HEAD~n,便可从最新版本开始,找最近的n条提交记录进行管理,执行命令会出现白色提示信息,会打印选中的n个版本,并且每个版本前会打印pick,把其中一个pick改为s,意为将该版本与其上一个版本的提交记录合并,修改完毕后,在终端最新一行输入 :wq (如有字符应删掉),修改即可生效,随后会出现白色提示信息,包括选中的n个版本的版本信息,此处为合并提交记录后的版本描述信息,可以按自己的喜好修改,修改完毕保存即可(操作同之前)。

另外,不建议将已经提交到远程仓库的版本提交记录进行合并。

场景2:想要把某分支的提交记录插入到master中,使提交记录之间呈现直线而不是带分叉的线,以dev为例。
第1步:切至dev支线,输入命令git checkout dev
第2步:对dev进行变基,将其与master合并、变为一条基线,输入命令git rebase master
第3步:切回master,输入命令git checkout master
第4步:将dev分支合并到master上,输入命令git merge dev

虽然输入git log显示的版本提交记录比较简洁,但是输入git log --graph --pretty=format:%h %s可以查看各版本构成的支线的关系,即带有分叉线的示意图,–pretty及之后的内容可以不输入,这个参数是用来格式化输出信息的。

场景3:在公司已开发部分功能,生成一个版本,没有提交到远程仓库。回到家开发别的功能,生成一个版本,提交到远程仓库。回到公司,拉取远程仓库的代码继续开发,如果使用git pull origin/分支名命令会产生分支,想要避免分支的产生。以dev分支为例。
第1步:拉取代码,输入命令git fetch origin 分支名
第2步:合并代码,输入命令git rebase origin/分支名

如果执行过程产生文件内容冲突,解决冲突后回到git终端窗口,输入命令git rebase --continue即可。

猜你喜欢

转载自blog.csdn.net/qq_44643644/article/details/107319084
今日推荐