如何从分支获取所有提交并放入单个提交

时间:2018-05-03 02:28:46

标签: git version-control

我有这个

A-----1'--2'--3'--4'  (master)
 \
  \
   D-----1--2--3--4--5--6--7--8--9 (dev)

我想要的是从D - 9获取所有chnages,因为它与master分离,然后将所有内容放在一个提交中并创建新分支dev2,它将包含来自dev分支的所有chnages

那里有30个提交

2 个答案:

答案 0 :(得分:1)

如果您已从dev2分支机构创建master

A-----1'--2'--3'--4'  (master, dev2)
 \
  \
   D-----1--2--3--4--5--6--7--8--9 (dev)

然后,您可以通过以下方式将dev分支的所有提交转换为dev2的一个提交:

git checkout dev2
git merge dev --squash

现在提交历史记录将是(commit M是合并提交,其中包含dev分支的所有更改):

              (master)
                  |
A-----1'--2'--3'--4'---M (dev2)
 \
  \                          
   D-----1--2--3--4--5--6--7--8--9 (dev)

答案 1 :(得分:0)

1.从master创建分支dev2 2.最新的开发 3.checkout dev2 4.mer dev dev into dev2