如果我有N个提交,我如何从N-3个提交分支?


当前回答

在Github repo上快速执行此操作的方法如下:

从分支机构查找特定提交在SHA id旁边,单击“浏览历史记录中此时的回购”在这里,您可以从此提交创建一个新分支

其他回答

要在github.com上执行此操作:

转到您的项目。单击“提交”。单击要从中分支的提交上的<>(“浏览历史记录中此时的存储库”)。单击左上方的“树:xxxxxx”。就在语言统计栏下方,您将看到“查找或创建分支”选项(只需在那里键入新的分支名称)

魔法可以通过git重置来实现。

创建一个新的分支并切换到它(因此所有最新的提交都存储在这里)git结帐-b your_new_branch切换回以前的工作分支(假设它是主分支)切换到主分支删除最新的x个提交,保持master干净git reset--hard HEAD~x#在您的情况下,x=3

从这一刻起,所有最新的x提交都只在新分支中,不再在上一个工作分支(master)中。

使用提交哈希创建分支:

git branch branch_name <commit-hash>

或使用符号引用:

git branch branch_name HEAD~3

要在创建分支时签出分支,请使用:

git checkout -b branch_name <commit-hash or HEAD~3>

这将使用一个命令创建分支:

git push origin <sha1-of-commit>:refs/heads/<branch-name>

我更喜欢这种方式,因为它会立即创建分支(之后不需要额外的push命令)。

要在Eclipse中执行此操作:

转到“Git存储库探索”透视图。展开“标记”并选择要从中创建分支的提交。右键单击提交并选择“创建分支”。提供分支名称。

它将为您创建一个本地分支。然后,每当您推送更改时,您的分支将被推送到远程服务器。