git如何只将开发分支上的最后一个版本合并到master分支上?

浏览:50日期:2023-09-13

问题描述

正在学习使用git,貌似git分支在合并的时候,比如将dev分支合并到master分支上,master的当前版本是m1,如果dev分支上有了d1,d2,d3三个新版本,合并时候,会将d1,d2,d3三个版本都添加到master的版本中去。

能不能只将开发的最终版本合并到master中呢?

我现在能想到的是git merge dev后,在master分支中git reset --soft 到m1版本,然后再commit成新版本。

有没有更直接的方法或者指令,合并时候只将最终版本合并到master中?

还是说,应该在merge前,在dev分支中就应该git reset --soft到dev分支最初版本,commit城新版本再合并?

请问实际工作中,应该怎么操作啊。

问题解答

回答1:

git checkout mastergit cherry-pick dev # 拿最后一个版本git cherry-pick dev~3..dev # 拿最新的3个版本回答2:

cherry-pick可以实现拉取载入其他分支内容而不是合并提交的目的。

不过不建议使用这个。因为这样就失去了使用版本控制的意义了。

回答3:

git cherry-pick <start-commit-id>..<end-commit-id>

回答4:

git cherry-pick可以合并不同分分支的某次提交

相关文章: