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


当前回答

只需运行:

git checkout -b branch-name <commit>

例如:

git checkout -b import/january-2019 1d0fa4fa9ea961182114b63976482e634a8067b8

带有参数-b的checkout命令将创建一个新分支,并将您切换到该分支

其他回答

使用GitHub Desktop,显示历史窗格,右键单击所需的提交,然后选择菜单项“从提交创建分支”。

如果您不确定要提前从哪个提交分支,可以检查提交并检查其代码(参见源代码、编译、测试)

git checkout <sha1-of-commit>

一旦找到了要从中分支的提交,就可以在提交中(即,不必先返回到主提交),只需按通常的方式创建一个分支:

git checkout -b <branch_name>

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

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

要在Eclipse中执行此操作:

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

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

我可以这样做:

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

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