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


当前回答

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

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

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

其他回答

使用提交哈希创建分支:

git branch branch_name <commit-hash>

或使用符号引用:

git branch branch_name HEAD~3

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

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

我可以这样做:

git branch new_branch_name `git log -n 1 --skip 3 --format=%H`

必须在其中输入跳过值。0是最新的,1是先前的,2是之前的提交,等等。

要在Eclipse中执行此操作:

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

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

我使用了Git-Gui(随Git for Windows提供)。

在菜单栏上,打开分支菜单并选择创建。。。在“分支名称”部分中指定新分支的名称在StartRevision部分中选择RevisionExpression:并输入提交ID(我刚刚使用了VisualStudio中的8位ID,它起了作用)

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

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