Git进阶教程_from bilibili part2
Git进阶教程 还欠着200分钟的课程待看
P11 本地与远程冲突问题
1,push/pull会触发本地origin/master指针的变化,commit会触发本地的master指针的变化
2,如果先看一下远程的情况,可以用git remote show 看一下,最下面 local out of date
3,一步登天的就是fast forward
冲突演示
1,两个人同时改同一个文件的同一行,那必然冲突
2,一般用点,不用星
3,报冲突
4,一般是这样,你和别人冲突了,你改的时候把别人拉过来问一问,修改成自己想要的样子之后,在git add ,git commit 就可以了
5,git fetch之后,你的分支就落后于origin/master了
6, 删除:8,10d
P12 GitK 和Gui
1,下面介绍一下图形工具,图形工具挺多的,我们自带的有两个,一个是git gui here,另外一个是gitk
2,这样也可以启动
3,看远端分支的LOG有好几个写法,全都一模一样
git log origin/master git log remotes/origin/master git log refs/remotes/origin/master
P13 本地与远程分支的关联操作
1,远程分支没有办法直接感知的
2,远端有个张三,你本地怎么知道远端有个张三呢?是因为你脑子里面记着张三这个人,你脑子里面记着的可能和远端的不一样
本地-->远程
远程-->本地
P14 操作本地与github的分支与标签
删除本地和远端的分支
感知远端无效分支
1,本地通过refs来感知远端
2,了解一下即可,另外一种建立远端关联的方法
给命令起别名
标签 简单标签和复杂标签
1,推送标签
2,删除标签其实是一样的,推一个空标签上去
1,push,直接写git push是不会推送标签到远程的,必须写全,pull得话是报喜不报忧,新增的时候能感知,删除的时候不感知
P15 Git gc 压缩文件
1,这个命令跑完了之后,refs 文件夹就空了,去哪了呢?
2,压缩之后他把目录里边所有的东西,拉过来一次性放到了一个文件里面
3,笔记
P20 git rebase变基操作
1,变基就是把根部给变了
2,cherry pick是在master,把下面的拿上来,而rebase操作点不一样,是在下面直接变基去上面,从下往上移动
3,rebase之后之前的两个点,就被遗忘了
4,rebase有三个常见的操作,在讲操作之前,我们先来看看他的冲突问题,rebase也会冲突
5,rebase改变很大的,不要推送到远端,也不再在master上弄
6,模拟rebase冲突
模拟rebase冲突 -忽略 skip的场景
7,
8,
9
10
模拟rebase冲突 continue的场景
1,这个解决冲突,就是拿出来这个文件,改成自己想要的样子,然后git add 告诉他冲突已经解决了
2,第一次冲突解决完了之后,我们还有第二次冲突
3,从下往上变基的时候, sha1值会变,通过日志也能看到