我有一个存储库,我一直在 master
分支上工作,最后添加了大约 10 个提交,我现在希望它们在另一个分支上,因为它们描述了我现在认为是实验性的工作(我我仍在学习良好的 Git 实践)。
考虑到这一点,我现在想让这最后 10 次提交形成它们自己的分支可以这么说,这样我就可以让 master
干净并保留用于“发布”/“稳定” "仅提交。
为了说明,我有:
b--b (feature B)
/
X--X--X--Z--Z--Z--Z--Z--Z (master)
\
a--a--a (feature A)
可以看到标有X
和Z
的commit都在master
分支上,而我要的是标有Z
(现在被认为是实验性的“功能 Z”工作)位于自己的分支上,master
以最右边的 X
结尾。为了说明,所需的图表:
b--b (feature B)
/
X--X--X (master)
\ \
\ Z--Z--Z--Z--Z--Z (feature Z - the new branch I want)
\
a--a--a (feature A)
那样的话,我的 master
将保留用于发布和其他稳定提交,能够根据需要 merge A、B 和 Z 功能。
那么如何将“Z”提交移动到它们自己的分支上呢?
最佳答案
git checkout master
git branch feature-Z
git reset <commit_id>
其中 commit_id 是 b 分支之前最后一个 X 提交的标识符。
关于git - 如何将当前在一个分支上的一些最后的 Git 提交移动到另一个分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4562960/