如果我有N个提交,我如何从N-3个提交分支?
当前回答
在Github repo上快速执行此操作的方法如下:
从分支机构查找特定提交在SHA id旁边,单击“浏览历史记录中此时的回购”在这里,您可以从此提交创建一个新分支
其他回答
要在Eclipse中执行此操作:
转到“Git存储库探索”透视图。展开“标记”并选择要从中创建分支的提交。右键单击提交并选择“创建分支”。提供分支名称。
它将为您创建一个本地分支。然后,每当您推送更改时,您的分支将被推送到远程服务器。
我可以这样做:
git branch new_branch_name `git log -n 1 --skip 3 --format=%H`
必须在其中输入跳过值。0是最新的,1是先前的,2是之前的提交,等等。
这将使用一个命令创建分支:
git push origin <sha1-of-commit>:refs/heads/<branch-name>
我更喜欢这种方式,因为它会立即创建分支(之后不需要额外的push命令)。
魔法可以通过git重置来实现。
创建一个新的分支并切换到它(因此所有最新的提交都存储在这里)git结帐-b your_new_branch切换回以前的工作分支(假设它是主分支)切换到主分支删除最新的x个提交,保持master干净git reset--hard HEAD~x#在您的情况下,x=3
从这一刻起,所有最新的x提交都只在新分支中,不再在上一个工作分支(master)中。
使用GitHub Desktop,显示历史窗格,右键单击所需的提交,然后选择菜单项“从提交创建分支”。
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的git添加?
- Rubymine:如何让Git忽略Rubymine创建的.idea文件
- Gitignore二进制文件,没有扩展名
- Git隐藏错误:Git隐藏弹出并最终与合并冲突
- 了解Git和GitHub的基础知识
- 没有。Git目录的Git克隆
- 在GitHub上有一个公共回购的私人分支?
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖
- Git拉另一个分支
- 在Bash命令提示符上添加git分支
- 如何更改Git日志日期格式