GIT - 如何从某个分支的 commit创建一个新的分支?
如果上一个Release 分支被污染了,想要还原这个分支最原始的样子,有什么办法或者说该怎么办呢?简单来说,就是如何从某个指定的 commit 创建一个新的 Git 分支?
操作非常简单!
命令格式
git branch <new-branch-name> <commit-hash-id>
具体步骤举例: 假设你想从 commitid 是 a1b2c3d4
创建一个分支叫 featureBranch-from-old
:
git branch featureBranch-from-old a1b2c3d4
这条命令会:在 a1b2c3d4
这个提交点创建新分支 feature-from-old。
如果想要创建之后,同时切换到这个新分支,可以运行下面这段代码:
git checkout -b <new-branch-name> <commit-hash-id>
接上面的例子,实际运用如下:
git checkout -b featureBranch-from-old a1b2c3d4
其他补充+注意点
-
提交哈希(commit hash id)可以是完整的,也可以是前几位,只要唯一即可,比如
a1b2c3d
-
上面的命令只会让你在本地创建了一个新的分支,但是在远程Bitbucket, 我们不会看到任何分支,如果我们想要同步到远程仓库,可以紧接着运行下面的代码:
git push --set-upstream origin <new_branch_name>
如果是上面的例子,那么命令就是下面这样:
git push --set-upstream origin featureBranch-from-old
-
特别注意:这个是任何情况下都可以的,即使是在Main Repo里面(没有权限提交代码的Repo中也是可以的)因为这个并没有涉及任何的代码提交,只是本地仓库和远程仓库之间的分支操作而已!!!
-
总结:两条命令即可
1. git branch <new-branch-name> <commit-hash-id> 2. git push --set-upstream origin <new_branch_name>//示例完整流程 git branch featureBranch-from-old a1b2c3d git push --set-upstream origin featureBranch-from-old
更多 git 分支管理技巧
可以查看这篇博客:Git 常用指令合集(持续更新)_git的常用指令-CSDN博客