git的fast-forward在之前的文章有介绍过,但是介绍的不细: http://www.cnblogs.com/charlesblc/p/5953066.html fast-forward方式就是当条件允许的时候,git直接把HEAD指针指向合并分支的头,完成合并.属于“快进方式”,不过这种情况如果删除分支,则会丢失分支信息.因为在这个过程中没有创建commit squash 是用来把一些不必要commit进行压缩,比如说,你的feature在开发的时候写的commit很乱,那么我们合并的…
多人协同开发,使用Git经常会看到警告信息包含术语:fast forward, 这是何义? 简单来说就是提交到远程中心仓库的代码必须是按照时间顺序的. 比如A从中心仓库拿到代码后,对文件f进行了修改.然后push到中心仓库. B在A之前就拿到了中心仓库的代码,在A push成功之后也对f文件进行了修改.这个时候B也运行push命令推送代码. 会收到一个类似下面的信息:fast-forwards' section of 'git push --help' for details. chenshu@…
github上上传了版本库https://github.com/ChuckGitMerge   包括merge和rebase 没时间画图,貌似也不太会用画图工具,先写了一个文字版本的 更新:2015年08月11日,使用了git for windows自带的git gui作为图片说明 一.Fast Forward,No Fast Forward 和 Squash的对比 1.fast forward 假设从master分支有三个节点C1,C2,C3 从C3切出develop分支,并在develop分…
1.每一个提交相当于一个版本,版本都有版本号与之对应.通常通过git commit -m "name"为每次提交命名. 2.融合:即将次分支的最后一个版本添加到主分支上.当融合冲突时,是通过手动改动版本至需要的版本然后再提交实现的. no fast forward 融合使得主分支与次分支每次提交都能够被记录下来,而不会让主分支覆盖次分支. 几个重要的命令: 1.根据版本号查看某个版本: git reset --hard versionID 2.查看版本之间的关系图 git log --…
https://www.ntu.edu.sg/home/ehchua/programming/howto/Git_HowTo.html#zz-7. 1.  Introduction GIT is a Version Control System (VCS) (aka Revision Control System (RCS), Source Code Manager (SCM)). A VCS serves as a Repository (or repo) of program codes,…
git merge --no-ff -m "msg" x-branch:禁用Fast forward的普通合并 通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息(即:原来这个分支的做了什么在log中体现不出来). 为了保留原来的分支,即:普通合并,这样的话,merge的时候会提交一个commit,就会输入-m参数,在log中体现的也更清晰! 前面我们解决冲突的时候发现,我们解决冲突之后,即使 是在master主分支上合并dev…
一:Git git config --global user.name "you name"   #设置用户名git config --global user.email "you email"  #设置用户邮箱git config --global color.ui true  #设置git适当地显示不同颜色git config --global alias.st status  #为status命令设置别名st(git st =git status),其他命令也…
简要参考:http://www.tuicool.com/articles/mEvaq2 http://gitref.org/zh/index.html GIT 学习手册简介 本站为 Git 学习参考手册.目的是为学习与记忆 Git 使用中最重要.最普遍的命令提供快速翻阅. 这些命令以你可能需要的操作类型划分,并且将提供日常使用中需要的一些常用的命令以及参数. 本手册将从入门到精通指导大家. 首先,我们要从如何以 Git 的思维方式管理源代码开始. 如何以 GIT 的方式思考(这节可以不用看懂,接…
Git 很是强大,在体验过rebase的华丽之后,再次发现之前在TFS上遇到的问题一下都有解了.但也印证了Git深入并非易事.这篇就谈下一个容易迷糊的概念:Fast forward. Fast-Forward 当前分支合并到另一分支时,如果没有分歧解决,就会直接移动文件指针.这个过程叫做fastforward. 举例来说,开发一直在master分支进行,但忽然有一个新的想法,于是新建了一个develop的分支,并在其上进行一系列提交,完成时,回到 master分支,此时,master分支在创建d…
一   基本命令 1.$ git init 要对现有的某个项目开始用 Git 管理,只需到此项目所在的目录,执行: 2.$ git status 检查当前文件状态 3.git add命令 功能1:可以用它开始跟踪新文件 功能2:或者把已跟踪的文件放到暂存区 功能3:还能用于合并时把有冲突的文件标记为已解决状态等 4.$ cat .gitignore(文件内定义规则) 忽略某些文件 我们再看一个 .gitignore 文件的例子: # 此为注释 – 将被 Git 忽略 *.a # 忽略所有 .a…