Git 合并两个分支以创建新分支
我们有几个分支机构Git 合并两个分支以创建新分支,git,version-control,Git,Version Control,我们有几个分支机构 master是我们的开发分支 功能新功能是一项新功能 feature tempfeature是我们的产品团队在创建新功能之前一直要求的新功能功能新功能不久前启动,尚未合并到主功能中(但对主功能有其他更改) 我们现在被指示将这个临时功能放在其中,它需要master的所有更改-因此它是一个可发布的版本-但也需要一些我们在newfeature中一直在做的东西(正如他们所说的“你可以重用一些你已经做过的东西”) 这样做最好的方式是什么?我已经从master分支创建了feature
是我们的开发分支master
是一项新功能功能新功能
是我们的产品团队在创建新功能之前一直要求的新功能<代码>功能新功能不久前启动,尚未合并到feature tempfeature
主功能中(但对
主功能有其他更改)
master
的所有更改-因此它是一个可发布的版本-但也需要一些我们在newfeature
中一直在做的东西(正如他们所说的“你可以重用一些你已经做过的东西”)
这样做最好的方式是什么?我已经从master
分支创建了feature tempfeature
<代码>功能新功能尚未完成,我不想将其合并到主功能中
我也不想只使用featurenewfeature
,因为我们希望能够并行地继续工作
您将如何在您的开发环境中解决这个问题
非常感谢 分支只是特定提交的别名。因此,您可以有多个实际上指向同一提交的分支。因此,您可以创建一个新分支
newBranch
,该分支指向与master相同的提交,然后将feature tempfeature
合并到newBranch
中。效果与合并到master相同,只是master保持不变。据我了解,您的场景是:
---master----
\___tempf____
\___newf_____
您的问题:您需要tempf
更改master
以及newf
以便
解决方案:
1) 使用$git Stash
2) 将master与tempf合并,并将newf与tempf合并,以同时更改master和newf
3) 使用$git Stash pop
正如@MaxLeske所说,分支只是别名,它们就像指向提交的指针,但不是提交本身。!这很简单!我是否可以将
master
合并到newfeature
中,然后将newfeature
合并到tempfeature
中,这将意味着我的newfeature
也与master同步?这也可能会使我不再需要合并master两次?现在使用tempfeature
一次,将来使用newfeature
1一次。当然可以。分支在各个方向都起作用。2.对您还可以使用git cherry pick
()有选择地应用某些提交的更改。git stash
多么棒的命令,我不知道您可以这么做。我一直在提交或重置文件。:)谢谢你的回答。