[英]Branch from a previous commit using Git
如果我有N
次提交,我如何从N-3
提交中分支?
您可以通过哈希创建分支:
git branch branchname <sha1-of-commit>
要在 github.com 上执行此操作:
魔术可以通过git reset<\/strong>来完成。
创建一个新分支并切换到它(所以你所有的最新提交都存储在这里)
- 切换回之前的工作分支(假设它是主分支)
- 删除最新的 x 提交,保持 master 干净
从这一刻起,所有最新的 x 提交都只在新分支中,不再在您之前的工作分支(master)中。"
如果您不确定要提前从哪个提交分支,您可以通过以下方式检查提交并检查其代码(参见源代码、编译、测试)
git checkout <sha1-of-commit>
只需运行:
git checkout -b branch-name <commit>
例如 :
git checkout -b import/january-2019 1d0fa4fa9ea961182114b63976482e634a8067b8
带有参数-b
的checkout
命令将创建一个新分支并将您切换到该分支
git checkout -b <branch-name> <sha1-of-commit>
这将使用一个命令创建分支:
git push origin <sha1-of-commit>:refs/heads/<branch-name>
一个很好的相关问题是:你到底是如何使用 git 的
--help<\/code>选项来解决这个问题的?
让我们试试这个:
git branch --help
这就是我所做的:
C:\Users\[path]\build>git checkout -b responsivenavigation 8a75b001096536b3216022484af3026aa9c7bb5b
Switched to a new branch 'responsivenavigation'
C:\Users\jaimemontoya\[path]\app>git branch
master
* responsivenavigation
要在 Eclipse 中执行此操作:
它将为您创建一个本地分支。 然后,每当您推送更改时,您的分支都会被推送到远程服务器。
"我能够这样做:
git branch new_branch_name `git log -n 1 --skip 3 --format=%H`
您可以在 Stash 中执行此操作。
转到 git 存储库的特定提交<\/em><\/strong>
有时,在处理 git 存储库时,您希望返回特定的提交(修订)以在特定时间获得项目的快照。 为此,您需要提交的 SHA-1 哈希,您可以使用以下命令轻松找到检查日志:
git log --abbrev-commit --pretty=oneline
我使用了 Git Gui (Windows 自带的 GIT)。
使用 GitHub 桌面,显示历史记录窗格并右键单击所需的提交,然后选择菜单项“从提交创建分支”。
如果您使用非常简单的源代码树。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.