rebase 可以把提交变成 一条线,看起来很不错。但是提交时,往往需要 push -f 强推。
另外对于 fix 分支,我一直使用的是 合并到 master,然后再 把 master 合并到 dev。
但是在 CSDN学习 Git 提到,也可以使用 cherry-pick
直接提交到 dev,实际有这样操作的吗?
rebase 可以把提交变成 一条线,看起来很不错。但是提交时,往往需要 push -f 强推。
另外对于 fix 分支,我一直使用的是 合并到 master,然后再 把 master 合并到 dev。
但是在 CSDN学习 Git 提到,也可以使用 cherry-pick
直接提交到 dev,实际有这样操作的吗?
实际日常项目中,这几个操作一般可以这样实践:
1、rebase:
a.可以用来实现从feature分支(即比如为某个版本功能特地拉的分支,开发完合并回master)时,利用SourceTree软件的交互式变基或者其他功能,将提交压缩为一个提交,以保持master提交历史的整洁性。
b.对于拉出去的feature分支,希望合并master其他人的改动。
2、cherry-pick:
一般用作单个提交希望合并到多个分支的时候,在其中一个分支提交,然后其他分支cherry-pick。如版本开发到最后阶段,已经到发布期,测出来问题,临时修复的补丁,由于提交量少,又有多分支需要维护时,这个就很有用。
3.merge:
一般是用来合并整个分支的内容,但是会产生很多自动合并的内容,导致提交历史混乱。如果是多人合作,又有严格的版本排期,这个方式就看个人取舍了。
其实这几个功能具体怎么用,可以视团队维护仓库的习惯来,能达成目标即可。