git如何只合并某个人提交的代码记录到master分支

发布于 2022-09-05 02:14:08 字数 108 浏览 13 评论 0

有三个人一起开发(比如A、B、C三个人),然后把代码都提交到了develop分支上,现在项目要上线,需要合并develop分支上A提交的所有代码到mater分支,B、C提交的代码不管,这种要怎么去实现?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

指尖上的星空 2022-09-12 02:14:08

首先我得说,这种开发流程是有问题的。

如果ABC是各自开发独立的功能,那么他们应该使用自己的分支。这样管理维护起来就十分方便,也不会有这种奇怪的问题了。

然后,怎么满足你这个奇怪的需求:

  1. 使用 git log --author=... --format='%H' commit-range 把提交号找出来

  2. 然后 pipe 到 rev 命令倒个序,再接个循环,挨个把提交 git cherry-pick 到你的 master 分支上

没有报酬,我也懒得写具体的命令了。毕竟完整的命令给出来,就得是自己测试过可行的。测试环境弄起来太麻烦。你自己看着文档尝试吧。

一向肩并 2022-09-12 02:14:08

既然共同提交到develop分支,A 必然会pull B、C的代码并且merge才能push,兑成一瓶水了怎么分开?
唯一的办法就是看log、diff,手工分开。

一紙繁鸢 2022-09-12 02:14:08

既然ABC都已经提交、合并到develop了,那么就没法区分ABC了吧?如果确定A的代码没有问题,那么是否可以直接把A分支里需要合并的代码提交到master呢?

离旧人 2022-09-12 02:14:08

1、把项目从远程仓库中,clone下来,放在本地仓库。
2、在这个文件的master分支上创建一个与远程仓库中A分支同名的新分支。如果你用的是Git,建议使用checkout -b 'A分支名字':创建并直接进入这个分支中。
3、在这个新分支中,从远程仓库把A分支pull下来,提交到本地仓库。
4、切换到master分支,合并新创建的分支,然后提交。

煮酒 2022-09-12 02:14:08

这种具体实现可能有两种:

  1. 就是你们分别在本地拉分支开发,然后不经过develop分支直接从本地合并到master上去(但是应该不会使用这种),这种就要保证你本地代码和develop上的一致

  2. 另一种就只能B和C把自己代码线去掉,然后合并

最后,我觉得git类的这种操作,可能还是要结合你的业务以及开发模式去分析,所以这上面得到的答案不一定符合你们的开发规范。

万人眼中万个我 2022-09-12 02:14:08

1.如果A是切分支开发后合并到dev,可以在master合并开发分支中的代码 (假如develop不要BC代码,可以回撤原来未提交版本号,再合并A代码,然后master再进行合并)
2.如果A是本地开发直接提交dev, 如果提交次数不多,也可在查看log在master中直接cherryPick A提交的条目

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文