Git 分支与主干的合并

    项目一般包含主干和分支,两者的合并是常用的操作。

    master表示主干的名称,branch表示分支的名称。

1.主干合并分支

     Git命令需要在主干下运行,命令执行后,分支的代码同步到了主干。

(1)在主干master上合并分支branch

 (master) git merge branch --squash

   --squash 选项的含义是:不提交、不移动HEAD,因此需要一条额外的commit命令。效果相当于将分支上的多个commit合并成一个,放在当前分支上,原来的commit历史则没有拿过来(前提是分支的commit历史不重要)。

(2)提交合并后的代码

 (master) git commit -m "合并分支代码"

(3)将代码推送到远程仓库

 (master) git push

2.分支合并主干

   Git命令需要在分支下运行,执行后主干的代码同步到了分支。

(1)在分支branch上合并主干master

 (branch) git merge master --squash

(2)提交合并后的代码

 (branch) git commit -m "合并主干代码"

(3)将代码推送到远程仓库

 (branch) git push

 

### 创建和合并分支的最佳实践 #### 创建新分支 当需要开展新的功能开发或是修复特定问题时,应该基于当前的工作分支(通常是`main`或`develop`)创建一个新的分支。这可以通过下面的命令实现: ```bash git checkout -b new-feature-name ``` 这条命令不仅会创建名为 `new-feature-name` 的新分支还会立即切换到该分支上继续工作[^1]。 #### 开发并提交更改 一旦处于新分支之上,则可以在其中自由地进行代码改动而不必担心影响主干项目的稳定性。每次完成一部分有意义的功能改进之后应当及时做一次commit记录下这些变化: ```bash git add . git commit -m "Add some feature" ``` 这里假设所有的文件都需要被加入暂存区;实际场景中可能只需要指定具体的文件名而不是`.`代表全部文件[^2]。 #### 更新远程仓库中的分支 如果希望其他开发者也能够访问自己正在工作的分支,在本地做完必要的提交后还需要将其推送到远端服务器上去: ```bash git push origin new-feature-name ``` 此操作会让远程仓库同步最新的分支信息以便于协作开发人员拉取下来共同参项目进展[^3]。 #### 合并解决冲突 待特性完全实现并通过初步自测验证无误后就可以准备把它合入更稳定的分支里去了——比如`develop`或者直接进入生产环境前的最后一道防线即`release/*`系列分支之一。在此之前务必先获取最新的上游变动以免遗漏重要的修正补丁: ```bash git fetch upstream git rebase upstream/develop ``` 上述指令序列首先从官方源处抓取消息接着尝试把当前分支上的变更重播应用到最新版的基础上面去从而减少潜在冲突的可能性。接下来执行真正的融合动作: ```bash git checkout develop git merge --no-ff new-feature-name ``` 使用`--no-ff`选项强制生成一个合并提交即使两个分支之间不存在分歧这样做有助于保留历史轨迹清晰可见便于日后追溯版本演进脉络[^4]。 最后一步就是清理不再使用的临时分支了: ```bash git branch -d new-feature-name git push origin :new-feature-name ``` 前者仅移除本地副本而后者则彻底销毁位于云端存储库里的对应实体确保资源得到有效回收利用[^5]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值