在特定提交后使用所有提交创建新分支

时间:2017-06-29 05:13:12

标签: git github

我正在使用多个提交(Release-X)的git分支。现在我被要求在特定提交(Release-Y)之后为所有提交创建一个新分支。我已经看到了关于使用特定提交创建新分支的问题(和答案)。但是,如果我这样做,是否会将提交后的所有提交复制到新分支?

如何从特定提交(比如commit-x)创建一个新分支,以便将commit-x之后的所有提交复制到这个新分支中?

此外,如何完成此操作,如何更改现有分支,以便commit-x是此分支上的最后一次提交

感谢。

修改

根据评论,看起来我需要的是不可能的。是否可以将现有分支重命名为其他分支?在这种情况下,我可以使用该提交创建一个新分支(Release-X1)并将现有分支重命名为Release-Y?

1 个答案:

答案 0 :(得分:1)

原着问题

如果x之前和x之后的提交正在更改同一文件的文件历史记录,那就很困难了。以下几点是您可以尝试的一些想法。但你必须仔细合并它们。

但是您可以尝试从原始分支创建新分支,将其恢复为您想要的shacommit。然后从您的originalbranch创建另一个分支,只需在commit-x之前恢复提交,直到达到您想要的提交或直到您到达最后一个稳定分支。

(或)

从原始分支创建一个本地分支(lb1)并将其重置为您想要的sha commit。然后从master创建另一个本地(lb2)并仅将您想要的提交从原始分支合并到(lb2)

编辑问题

是的,您可以重命名分支 git checkout -b Release-x1 old_branch,将创建newbranch,您可以使用git reset --hard shacommit回滚到该提交。

然后转到oldbranch

git branch -m old_branch release_y