1、打印输出git分支图

git log --graph --all --decorate --oneline
--graph意思是以图形的模式显示分支,
--all意思是显示所有的commit记录,
--decorate参数用来显示一些相关的信息,如HEAD、分支名、tag名等,
--oneline就是一个commit只显示一行

2、Merge branch 'master' of

我们某些时候会见到 Merge branch 'master' of into... 的日志,如下图,会多一个绿色的箭头指向,那这是如何造成的呢?为啥会出现这种呢?

答:我们在同一个分支上进行多人协同开发时,本地分支的代码落后于远程分支是很常见的事,如果你按照正常流程,先 git pull,有冲突解决冲突,然后git add/commit/push,那么你的git操作没有问题,非常完美,git分支图也是正常显示。但是你如果先 git commit,再 git pull的话,就会产生 Merge branch 'master' of 这种多余日志,虽然不会影响啥,但是分支图多一处无用的日志就很不好, 而且 先git add再git pull也非正常流程。

2.1、那么有同学想问,我对git不太熟悉,又和同事在同一个分支上开发,那我该如何操作呢?

首先你和同事修改有同样代码,然后他讲代码提交到远程了,你需要拉取他的代码,但是因为你本地有正在开发的代码,无法git pull,那切记一定不要先git commit! 要先 git stash , 将你本地开发代码提交到本地暂存区(可以跨分支哦,这方式很好用),然后git pull,拉下别人的代码后,再 git stash pop,将你代码从暂存区退出到本地开发目录,然后就是解决冲突,接着 再是git add/commit/push啦

2.2、git pull 原理是啥?

我们在git pull代码时,实际上git 默认会帮我们做合并操作: fast-forward 模式, 意思是如果 远程 分支超前于本地分支,并且本地分支没有任何 commit 的,直接从 远程 进行 pull 操作,这种模式下,不会产生合并节点,也就是说不会产生多余的日志信息(Merge branch 'master' of ...)。
如果像之前那样,本地先 commit 后再去 pull,那么远程分支和本地分支会出现分叉,这个时候使用 pull 操作拉取时,就会进行分支合并,产生合并节点日志信息

有趣且重要的Git知识合集(5)Merge branch ‘master‘ of相关推荐

  1. 有趣且重要的Git知识合集(8)git commit 重新提交(—amend —no-edit)

    当我们已经commit提交过一次了,然后发现还有些代码没改完,这个时候,很多童鞋都会考虑,再commit一次就行了,但是在git记录中就会出现两条commit,其实问题不大,但是如果有很多这种情况,就 ...

  2. 有趣且重要的Git知识合集(7)git stash报错 Too many revisions specified: ‘stash@‘ ‘MAA=‘ ‘xml‘ ‘text‘

    在我们想要查看stash list中储存的代码时,就先 git stash list 然后会出现下图所示 这时候再输入 git stash show -p stash@{0} 但是,会出现这种报错 T ...

  3. 有趣且重要的JS知识合集(18)浏览器实现前端录音功能

    1.主题描述 兼容多个浏览器下的前端录音功能,实现六大录音功能: 1.开始录音 2.暂停录音 3.继续录音 4.结束录音 5.播放录音 6.上传录音 2.示例功能 初始状态: 开始录音: 结束录音: ...

  4. 有趣且重要的css知识合集(6)动态控制css伪元素【var()】

    在vue里,js和css的属性可以随意控制,比如:class和:style,但是我们想要动态控制伪元素的属性该怎么做呢? 比如下图,右下角小圆圈就是通过伪元素定义上去的,那我们想要自由实现伪元素的显示 ...

  5. 有趣且重要的css知识合集(1)纯css实现div左右拖拽效果

    目前我看主流的都是用js来实现div拖拽效果,不过我个人觉得一直监听拖拽,会耗费很大的性能,毕竟监听盒子的宽高这些属性,都会触发浏览器的回流,并且我看了很多博客,他们是能用css实现div左右拖拽效果 ...

  6. 有趣且重要的JS知识合集(15)前端上传视频后获取视频的相关信息

    通过视频文件上传后监听loadedmetadata事件来获取视频属性 getVideoInfo(file) {return new Promise(resolve => {const video ...

  7. 写给Android App开发人员看的Android底层知识合集(1-8)

    写给Android App开发人员看的Android底层知识合集(1-8) 转自包老师:http://www.cnblogs.com/Jax/p/6864103.html 写给Android App开 ...

  8. git pull时产生'Merge branch 'master' of...问题

    一.问题 在使用 Git 的进行代码版本控制的时候,往往会发现在 log 中出现 "Merge branch 'master' of -" 这句话,如下图所示.日志中记录的一般为开 ...

  9. Git提交时出现Merge branch ‘master‘ of ...之解决方法

    多人协作开发项目,在上传代码时通常会先pull一下远程代码,使本地与远程同步更新,但是如果远程此时与自己代码存在冲突,在解决冲突后提交有时会出现"Merge branch 'master' ...

  10. 9个非常有趣的HTML5 Canvas动画特效合集

    HTML5技术正在不断的发展和更新,越来越多的开发者也正在加入HTML5阵营,甚至在移动开发上HTML5的地位也是越来越重要了.HTML5中的大部分动画都是通过Canvas实现,因为Canvas就像一 ...

最新文章

  1. Winsock异步模式I/O模型WSAEventSelect的使用
  2. 【c语言】蓝桥杯算法训练 连接字符串
  3. python数据库-mysql
  4. Ubuntu下vi编辑器方向键变成字母的解决方法
  5. 5.1.4 IO软件层次结构
  6. 从系统设计到市场痛点,浅谈英国自助结账系统
  7. 服务器端与客户端TCP连接入门(三:多线程)
  8. android学习笔记之ProgressDialog的使用
  9. java求平均值Scanner_Scanner的一些问题
  10. 【Maven学习笔记(二)】Maven的安装与配置
  11. 网络硬盘录像机和数字硬盘录像机区别(nvr dvr ipc区别)
  12. 小智伴机器人使用说明_智伴机器人丨史上最全功能,玩转小智伴看这里!
  13. BZOJ 1006 神奇的国度(弦图的染色数)
  14. 搜狗服务器页面找不到了怎么办,处理搜狗浏览器提示“无法解析服务器的DNS地址”的方法...
  15. UE4之SetRelativeLocation 和SetRelativeRotation
  16. spring实现定时任务的两种方式
  17. 批量生成横断面_批量生动生成填充图案的边界线
  18. ORK进行物体检测过程中出现的报错及解决方案
  19. penetration testing report
  20. CS231n——机器学习算法——线性分类(上: 线性分类器)

热门文章

  1. Axure,Justinmind以及Mockplus的交互设置方式对比
  2. 谁在叩响野蛮人的家门?
  3. 计算机考研可以考到部队吗,部队文职好考么?备考压力远比考研小!
  4. Several ports (8005, 8080, 8009) required by demo are already in use. The server may already be runn
  5. Ubuntu Linux,及Python matplot,安装Times New Roman等字体,让图标签可以用Times New Roman等字体
  6. driver其他常用的方法
  7. u盘文件突然不见了怎么样才能恢复呢?
  8. 简单聊聊什么是Sass、Pass和Iass?
  9. poj 2632 Crashing Robots
  10. 关于JFrame添加背景图片,setbounds的小知识