Git合并

Git中的合并操作

上次的博客,我们讲解了Git的分支基本作用,这里,我们就来拓展一下,Git中的合并操作

git log

情景提要,上次我们是在master分支下有着a.txtREADME.md,而创建的feature1分支下有b.txt文件

然后回归我们的主题,再次之前,我们先来学习一下git log的操作,这个操作是查看git操作的日志,所以,让我们学习一下,为了更好的讲解这个较为重要的命令行git log,我提前使用git merge feature1的合并操作。So

img

在上图中,我们先是用了git merge操作将feature1分支合并到了msater的主分支,并用git branch -d feature1删除了分支

img

git log查看当前分支的log日志,可以看到,有我前面合并操作的日志,因为feature1分支中只有b.txt所以就只有add b.txt

img

git log --oneline 这个命令就是上图,能让log界面更加的简洁,另外 git log --oneline -3就是查看前几位

img

git show <commit id> 如果你想看某个操作更加详细的日子,你就可以用这个命令,后面的的id就是你想看的日志id,可以清楚的看到,我们这个日志就只是添加了一个b.txt,而且b.txt的内容都有显示

git log --all --decorate --oneline --graph,这个命令能让log日志看起来更加的顺眼,虽然现在看不出来,但是确实有用

img

上述的git log --all --decorate --oneline --graph,虽然有用(emmm,等会再说哪有用),但是命令实在是太长了,所以我这里在教一点干货,输入

vi ~/.gitconfig  #修改git的配置环境

# 输入以下代码
[alias]
    co = checkout
    br = branch
    ci = commit
    st = status
    dog = log --all --decorate --oneline --graph

上述代码就是可以简易的输入,git log --all --decorate --oneline --graph就等于git dog

alias
img

log日志讲解

我们先git checkout -b f1创建分支并跳转到f1分支,然后在f1分支下生成c.txt,并添加This is c.txt,然后commit一下

img

因为前面我们配置了config,所以我们就可以使用简洁字母进行操作。另外我们可以看一眼log日志第一行的Head -> f1,可以理解成指针指向f1分支,也就是在f1分支下进行了后面的add c.txt操作,我们用git show 11293e0可以详细查看我们进行了什么操作

img

上图中我们可以看到,merge用的是Fast-foward方式,这个方式是直接帮你提交了,逻辑并不是很好/有兴趣可以去研究一下,输入git merge --help就能看官方文档了。这里我就推荐大家用git merge f1 --no-ff,这个方法能让我们的日志看的更加的清晰。如下图

img

我先是跳转到f1的分支,创建了一个d.txt文件,并提交一次,然后

img

回主master分支,它也提示了比master分支多了2个commits

img

输入git merge f1 --no-ff时,它会提醒了进行适当的修改,你可以不改,按一下esc,并按shift'+:',shift加冒号,输入wq退出,然后输入git log查看,你会发现它先是在f1的分支下add一次,然后合并到master主分支。如果你还是看不出来,这个时候你就可以输入git log --all --decorate --oneline --graph或者是配置完了的git doggit log --oneline也还可以,但是显然前者更加的显而易见

img
img
img

上传到远程仓库

我们用git push方法,上传到远程仓库,注意,这里的上传默认是master分支

img
img

所以我们用git push origin f1:feature1,本地是f1分支,仓库是feature1,如果名称不对,会自动创建一个。

img

我们先在远程仓库的master分支下修改a.txt,然后在本地的master分支下进行git pull操作,如果要在master分支下

img

上述的操作,只能将github上的修改的pull到master分支内,f1分支并没有修改

img

所以我们如果想要f1分支和master分支同步,我们进入f1分支,然后执行git merge操作

img

但是我们也是可以用git rebase master的方法合并,因为我也是不是十分的清楚这两者的关系,所以我就简单得把我的理解阐述一遍

merge rebase 区别

merge 操作试讲两个分支的历史连接在一起;合并操作;更加关注历史记录

rebase 如上就是f1分支移动到master分支的最后一次commit,不会像merge一样又一次不必要的commit,没有提交操作,只是复制

rebase 黄金法则:绝对不要再公共分支使用rebase master

分支冲突

我们先新建分支f2,并修改a.txt。然后切换到f1分支,修改a.txt文件。然后进入f2分支进行合并(merge),这个时候就会发生冲突(记得修改要commit一次),如下:

img
img

上图发生的,a.txt就变成第二个红线框,框内上面的就是本来自己的(Head),下面那个就是冲突的。所以我们就要修改,第一种方法就是直接用编辑器修改,另外一种就是输入git mergetool,并敲回车,就可以进去对所有发生冲突的文件进行修改(这里就不贴图了,记住这个git mergetool就行)

对了修改后,会生成一个a.txt.orig,这个就是发生冲突的记录




这次的博客就到这里了,So

Just have fun...

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,529评论 5 475
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,015评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,409评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,385评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,387评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,466评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,880评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,528评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,727评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,528评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,602评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,302评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,873评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,890评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,132评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,777评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,310评论 2 342

推荐阅读更多精彩内容