git 常用命令 合并分支

[Q&A] git merge 作用

用于将一个或多个分支的更改合并到当前分支中。这个操作通常发生在你已经在一个特性分支上完成了一些工作,并希望将这些更改合并回主分支。

场景1:本地 分支间 合并

git merge dev     在本地maste分支上执行, git会把 dev分支 合并到 master分支上

场景2:远程dev分支 合并到 本地dev分支

1git checkout dev
2git fetch
3git merge      在本地dev分支上执行,git会把 refs/remotes/origin/dev分支 合并到 refs/heads/dev分支上

1git checkout dev
2git pull

场景3:远程release分支 合并到 本地dev分支

3.1・最省事 + 最严谨 + 最高效

1git checkout dev
2git pull origin release

1git checkout dev
2git fetch 
2git fetch origin
2git fetch origin release
3git merge origin/release    将远程仓库(origin)的release分支合并到你当前所在的本地分支

3.2・本地分间merge

1git checkout release
2git pull
3git checkout dev
4git merge release

3.3・主要需知道FETCH_HEAD含义,此方法太浪仅做了解即可

1git checkout dev
2git fetch origin release
3git merge FETCH_HEAD

常见合并场景

1・Merge (Fast-Forward)

当使用fast-forward模式进行合并时,不会产生新的commit节点。不能够使用fast-forward模式进行合并时将拒绝合并,并返回一个失败状态。默认情况下,git merge采用fast-forward模式。
在这里插入图片描述

git checkout master
git merge --ff my-branch

2・Merge (No-Fast-Forward)

即使可以使用fast-forward模式,也要创建一个新的合并节点。这是当git merge在合并一个tag时的默认行为。
在这里插入图片描述

git checkout master
git merge --no-ff my-feature

3・Merge (Recursive)

recursive是默认合并策略。
在使用recursive策略进行合并时,如果遇到冲突,Git会暂停合并过程,让您手动解决这些冲突。
解决冲突的基本步骤如下:
1・查找冲突文件:Git会标记出有冲突的文件。
2・编辑冲突文件:打开这些文件,找到Git标记的冲突区域(通常以<<<<<<<, =======, 和 >>>>>>>标记),手动决定如何解决冲突。
3・添加并提交更改:解决冲突后,使用git add命令将解决冲突后的文件添加到暂存区,然后使用git commit完成合并。

在这里插入图片描述

4・Squash & Merge

不会保留被合并分支的提交历史,而是将这些更改压缩成一个单一的新提交。
在这里插入图片描述

# 切换到接收更改的目标分支(如main)
git checkout main

# 执行 squash 合并,将my-branch的更改合并进来,但不保留其提交历史
git merge --squash my-branch

# 查看暂存区的更改,确认即将提交的内容
git status

# 提交合并后的更改,记得添加一个详细的提交信息
git commit -m "Squashed commit of my-branch: Implemented XYZ feature"

5・Rebase & Merge

在这里插入图片描述

git checkout my-branch
git rebase main
git checkout main
git merge my-branch

参考

参考(Merge, Squash & Merge, Rebase & Merge)
Further Reading :Git常用命令汇总

### 回答1: Git是目前软件开发中最流行的版本控制工具之一,而在Git中,分支是管理代码的重要机制,在不同的分支上开发不同的功能,能够很好地保证代码的稳定性和可维护性。下面是Git常用命令切换分支的介绍。 1.查看分支 git branch命令用于查看当前本地仓库中的所有分支,命令格式为:git branch。通常在不加参数时,该命令会列出本地仓库的所有分支,并在当前分支前面加上一个“*”号。 2.切换分支 git checkout命令可以切换分支,命令格式为:git checkout [分支名]。使用该命令可以在不同的分支之间进行切换,同时可以回滚到之前的提交。 3.创建分支 git branch命令还可以用于创建新的分支,命令格式为:git branch [分支名]。创建新分支后,需要使用git checkout命令切换到这个新分支才能开始在该分支上开发新的功能。 4.合并分支 git merge命令用于合并两个不同的分支,命令格式为:git merge [分支名]。通常将当前分支合并到目标分支上,目标分支上会合并当前分支,以此来实现两个分支合并。 5.删除分支 git branch命令还可以用于删除已经存在的分支,命令格式为:git branch -D [分支名]。需要注意的是,删除分支需要切换到其他分支上,否则会导致删除失败。 总之,Git分支机制提供了非常方便的代码管理方式,通过以上几个Git命令的使用,开发人员可以快速创建、切换、合并和删除各种分支,以便更好地开发和管理代码。 ### 回答2: Git是一款非常流行的版本控制系统,它可以让我们轻松地管理代码的版本,对于团队协作尤为重要。而切换分支则是Git中的一个非常重要的操作,可以让我们在不同的分支上开发不同的功能,互不影响。 下面是一些常用的Git命令来切换分支: 1. git branch:查看当前所有的本地分支,带有*号的表示当前所在的分支。 2. git checkout <branch name>:切换到指定的分支,例如:git checkout feature_branch。 3. git checkout -b <new branch name>:创建一个新的分支,并立即切换到该分支上,例如:git checkout -b bugfix_branch。 4. git switch <branch name>:新版Git中可以使用git switch命令来代替git checkout来切换分支。 5. git merge <branch name>:将指定分支的更改合并到当前分支上,例如:git merge feature_branch。 6. git rebase <branch name>:将当前分支的更改移动到另一个分支的基础上,例如:git rebase master。 7. git stash:将当前的更改暂存起来,可以用于在切换分支时避免冲突。 总之,通过掌握Git分支管理功能,我们可以更好地协作开发,并且更加轻松地管理代码的版本。需要注意的是,在切换分支时一定要注意是否有未提交的更改,避免数据的丢失。 ### 回答3: 在git中,切换分支是常见的操作之一。切换分支可以让我们在不同的分支上进行不同的开发工作,从而提高代码的可维护性和扩展性。下面是git常用命令切换分支的详细介绍: 1. git branch:查看本地所有分支,当前分支会用“*”标识出来。 2. git branch [branch-name]:创建新分支。 3. git checkout [branch-name]:切换到指定分支。 4. git checkout –b [branch-name]:创建并切换到新分支。 5. git merge [branch-name]:将指定分支合并到当前分支。 6. git branch –d [branch-name]:删除指定分支。 以上是git常用命令切换分支的详细介绍。 值得注意的是,在切换分支之前,一定要先确保当前分支的工作已经全部提交了。否则,切换分支后,未提交的工作会丢失。 总之,git是一个强大的版本控制工具。掌握常用的git命令可以帮助我们更加高效地管理和维护代码,从而提高开发效率和质量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值