Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 合并两个分支以创建新分支_Git_Version Control - Fatal编程技术网

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
多么棒的命令,我不知道您可以这么做。我一直在提交或重置文件。:)谢谢你的回答。