创建子分支结构并推送

问题描述

我想要一个类似于下图的结构。

假设我从 github 克隆了一个项目,它有一个 main 分支。

然后我想在 server 分支进行第二次提交时创建一个 main 分支。

我是否会从本地分支 main 创建一个分支来克隆 github main 分支?

那么它看起来像这样吗?

git checkout -b main_local server

那我如何使用服务器分支更新我的 main_local 分支,然后推送更改以反映在 github 主分支中?

enter image description here

解决方法

要在上一次提交(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