git学习(六):学习merge的图解

本文介绍了在工作中遇到的Git合并指令gitmerge和gitrebase、gitcherry-pick的区别。通过创建并操作分支,模拟合并过程,解释了gitmerge如何增加新的commit记录。在合并过程中遇到的问题,如解决(MASTER|MERGING)状态,以及使用gitlog--graph进行分支图解的学习,帮助理解Git的合并机制。
摘要由CSDN通过智能技术生成

每天对自己多问几个为什么,总是有着想象不到的收获。 一个菜鸟小白的成长之路(copyer)

​ 在最近的工作中,接触到了 git rebase git cherry-pick两个合并指令,它们跟git merge有什么不同,我一无所知。感觉还是知道的太少了。甚至,我对git merge就产生了使用的迷惑。所以,今天又来继续学习一下, git merge这个指令。


正题

先根据一张图,然后跟着步骤敲命令,慢慢理解merge

在这里插入图片描述

图画的有点丑,但是大致意思应该都明白。

流程开始了。

1、先创建一个git管理的文件夹
git init
2、创建master1.txt,然后add commit
touch master1.txt   // 创建一个文件夹
git add .
git commit -m 'master c1'
3、创建master2.txt,然后add commit
touch master1.txt   // 创建一个文件夹
git add .
git commit -m 'master c2'
4、在master c2的基础上创建一个分支dev,然后创建文件 dev1.txt add commit
git branch dev
git checkout dev

// 等价于
git checkout -b dev


touch dev1.txt
git add .
git commit -m 'dev c1'
5、切换回master分支,继续创建master3.txt,然后 add commit
git checkout master
touch master3.txt
git add .
git commit -m 'master c3'
6、master分支合并dev分支

这里分支合并的时候,遇到了一点问题,以前是没有注意的。

问题一:

对Linux的命令不是很熟悉。导致不会操作(大学虚度了几年光阴),然后各种百度。

在这里插入图片描述

点击 i键,进入insert模式,然后填写 commit 信息 master c4

在这里插入图片描述

然后点击 ESC 输入::wq 就保存退出。

这样就合并了。

问题二:

解决git中(master|MERGING)
解决办法:
使用命令
git reset --hard head

https://blog.csdn.net/KaiSarH/article/details/102996400


查看分支的图解

git log --graph

在这里插入图片描述

简介版的图解:

git log --graph --pretty=format:"%h %s"

在这里插入图片描述


总结

merge分支合并,会一条新的commit信息。增加commit的记录。

// 新学习的两条命令
git log --graph
git log --graph --pretty=format:"%h %s"
// h: hash    s: message
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
git pull命令用于**从远程存储库获取最新版本并与本地分支合并**。 当执行`git pull`时,它实际上执行了两个操作:`git fetch`和`git merge`。`git fetch`从远程仓库获取最新的代码,而`git merge`将获取的代码合并到当前工作的本地分支中。这样做的好处是可以将远程的最新更改集成到本地工作副本中,确保本地仓库与远程仓库保持同步。 如果在执行`git pull`时遇到`fatal: refusing to merge unrelated histories`错误,这意味着Git拒绝合并因为历史记录不相关。这通常发生在尝试合并两个没有共同基础的分支时。为了解决这个问题,你可以尝试以下方法: 1. **使用 `--allow-unrelated-histories` 选项**:这个选项允许合并即使历史记录不相关。但请注意,这可能会导致一些意想不到的历史记录结构。 2. **手动解决冲突**:如果合并时出现冲突,需要手动解决这些冲突,然后再提交合并。 3. **检查分支是否正确**:确认你正在尝试合并的分支是正确的,有时候可能因为误操作而导致尝试合并错误的分支。 4. **创建一个新的合并分支**:如果直接合并有问题,可以尝试创建一个新分支,先将两个分支的内容分别合并到新分支,然后再将新分支合并回主分支。 在使用`git pull`时,建议明确指定要拉取的远程仓库和分支,例如`git pull origin master`,这样可以避免意外拉取错误的分支或仓库。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值