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


当前回答

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

git checkout <sha1-of-commit>

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

git checkout -b <branch_name>

其他回答

使用提交哈希创建分支:

git branch branch_name <commit-hash>

或使用符号引用:

git branch branch_name HEAD~3

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

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

还没人提到git开关?

您可以执行以下操作:

git checkout<commit hash>

或使用符号引用:

git结帐头~3

然后:

git开关-c我的新功能分支

使用Sourcetree|最简单的方法。

首先,签出要进行特定提交以创建新分支的分支。然后查看工具栏,选择Repository>Branch。。。快捷方式是Command+Shift+B。然后选择要执行的特定提交。并给出一个新的分支名称,然后创建一个分支!

我可以这样做:

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

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

对于GitGUI用户,您可以可视化所有历史记录(如果需要),然后右键单击要分支的提交并输入分支名称。