git - 如何将当前在一个分支上的一些最后的 Git 提交移动到另一个分支?

标签 git branching-and-merging

我有一个存储库,我一直在 master 分支上工作,最后添加了大约 10 个提交,我现在希望它们在另一个分支上,因为它们描述了我现在认为是实验性的工作(我我仍在学习良好的 Git 实践)。

考虑到这一点,我现在想让这最后 10 次提交形成它们自己的分支可以这么说,这样我就可以让 master 干净并保留用于“发布”/“稳定” "仅提交。

为了说明,我有:

        b--b (feature B)
       /       
X--X--X--Z--Z--Z--Z--Z--Z (master)
    \
     a--a--a (feature A)

可以看到标有XZ的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/

相关文章:

git - interdiff 做 diff 做不到的是什么?

git - 推送到远程文件系统时是否可以配置 Git 以设置全局写入权限?

git - 删除私有(private)服务器(不是 GitHub)上的 git master 分支

tfs - 是否有命令行 TFS 工具来跟踪分支之间的变更集?

git - 如何将我的十个提交从 master 移动到 git 中的一个新分支?

git - 将 Angular 2 应用程序部署到 Azure

svn - 如何制作防止非 UTF-8 文件编码的预提交 Hook

git - 命令(或脚本)类似于 git status 以显示自上次 git svn dcommit 以来的所有本地提交?

TFS 分支推荐

Git merge 不会第二次 merge 文件