如果我有N提交,我如何从N-3提交分支?
N
N-3
8ulbf1ek16#
这将使用一个命令创建分支:
git push origin <sha1-of-commit>:refs/heads/<branch-name>
与上面发布的方法相比,我更喜欢这种方式,因为它会立即创建分支(不需要在之后使用额外的PUSH命令)。
5ktev3wc17#
git checkout -b <branch-name> <sha1-of-commit>
slhcrj9b18#
只需运行:
git checkout -b branch-name <commit>
例如:
git checkout -b import/january-2019 1d0fa4fa9ea961182114b63976482e634a8067b8
带有参数-b的checkout命令将创建一个新分支并且它会将您切换到该分支
-b
checkout
14ifxucb19#
如果您事先不确定要从哪个提交分支,您可以 checkout 提交并检查它们的代码(请参阅源代码、编译、测试)
git checkout <sha1-of-commit>
找到要分支的提交后,只需按常规方式创建分支,即可在提交中执行此操作(即,无需首先返回到主服务器):
git checkout -b <branch_name>
o0lyfsai20#
魔术可以通过Git重置来实现。
1.创建一个新的分支并切换到它(这样您所有的最新提交都存储在这里)
git checkout -b your_new_branch
1.切换回以前的工作分支(假设它是主分支)
git checkout master
1.删除最新的x提交,保持主机清洁
git reset --hard HEAD~x # in your case, x = 3
从现在开始,所有最新的x提交只在新的分支中,而不再在您以前的工作分支(主)中。
k5ifujac21#
要在githorb.com上做到这一点:
1.进入你的项目。1.点击“提交”。1.在您想要分支的提交上单击**<>**(“在历史中的这一点浏览存储库”)。1.点击左上角的树:xxxxxx。在语言统计栏的正下方,您将看到“查找或创建分支”选项(只需在那里输入新的分支名称)
21条答案
按热度按时间8ulbf1ek16#
这将使用一个命令创建分支:
与上面发布的方法相比,我更喜欢这种方式,因为它会立即创建分支(不需要在之后使用额外的PUSH命令)。
5ktev3wc17#
slhcrj9b18#
只需运行:
例如:
带有参数
-b
的checkout
命令将创建一个新分支并且它会将您切换到该分支14ifxucb19#
如果您事先不确定要从哪个提交分支,您可以 checkout 提交并检查它们的代码(请参阅源代码、编译、测试)
找到要分支的提交后,只需按常规方式创建分支,即可在提交中执行此操作(即,无需首先返回到主服务器):
o0lyfsai20#
魔术可以通过Git重置来实现。
1.创建一个新的分支并切换到它(这样您所有的最新提交都存储在这里)
1.切换回以前的工作分支(假设它是主分支)
1.删除最新的x提交,保持主机清洁
从现在开始,所有最新的x提交只在新的分支中,而不再在您以前的工作分支(主)中。
k5ifujac21#
要在githorb.com上做到这一点:
1.进入你的项目。
1.点击“提交”。
1.在您想要分支的提交上单击**<>**(“在历史中的这一点浏览存储库”)。
1.点击左上角的树:xxxxxx。在语言统计栏的正下方,您将看到“查找或创建分支”选项(只需在那里输入新的分支名称)