问题描述
我想要一个类似于下图的结构。
假设我从 github 克隆了一个项目,它有一个 main
分支。
然后我想在 server
分支进行第二次提交时创建一个 main
分支。
我是否会从本地分支 main
创建一个分支来克隆 github main
分支?
那么它看起来像这样吗?
git checkout -b main_local server
那我如何使用服务器分支更新我的 main_local 分支,然后推送更改以反映在 github 主分支中?
解决方法
要在上一次提交(main
分支的第二次提交)上创建分支,需要使用以下命令:
# in main-branch
git checkout -b server <sha-of-2nd-commit>
要成为从 server
分支到您的 main
分支的更改,请执行以下命令:
# change to main branch,when in server-branch
git checkout main
# merge server branch to main
git merge server
注意: 这可能会导致合并冲突,如果您在两个分支中的同一位置(行)更改了同一个文件。
合并后,键入以下内容将更改从 local main
-branch 推送到 remote main
-branch:
# in main-branch
git push