每天对自己多问几个为什么,总是有着想象不到的收获。 一个菜鸟小白的成长之路(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