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分…
Git 很是强大,在体验过rebase的华丽之后,再次发现之前在TFS上遇到的问题一下都有解了.但也印证了Git深入并非易事.这篇就谈下一个容易迷糊的概念:Fast forward. Fast-Forward 当前分支合并到另一分支时,如果没有分歧解决,就会直接移动文件指针.这个过程叫做fastforward. 举例来说,开发一直在master分支进行,但忽然有一个新的想法,于是新建了一个develop的分支,并在其上进行一系列提交,完成时,回到 master分支,此时,master分支在创建d…
如果执行了 Fast Forward,开发者根本不会看到这个分支,就像在 master 直接 commit 一样.…
看CM源码时,发现历史记录里有很多squash,于是google了解了一下. Git相对于CVS和SVN的一大好处就是merge非常方便,只要指出branch的名字就好了,如: 1 2 3 4 5 $ git merge another $ git checkout another # modify, commit, modify, commit ... $ git checkout master $ git merge another 但是,操作方便并不意味着这样操作就是合理的,在某些情况下,…
今天用git pull来更新代码,遇到了下面的问题: error: Your local changes to the following files would be overwritten by merge: xxx/xxx/xxx.java Please, commit your changes or stash them before you can merge. Aborting 但是服务器没有任何手动修改文件行为,很奇怪经常遇到莫名的这类问题 好吧,算啦,直接说最终的解决办法吧 1.…
Please enter a commit message to explain why this merge is necessary. 请输入提交消息来解释为什么这种合并是必要的 git 在pull或者合并分支的时候有时会遇到这个界面.可以不管(直接下面3,4步),如果要输入解释的话就需要: 1.按键盘字母 i 进入insert模式 2.修改最上面那行黄色合并信息,可以不修改 3.按键盘左上角"Esc" 4.输入":wq",注意是冒号+wq,按回车键即可…
http://blog.csdn.net/hufengvip/article/details/17231133 下面一行搞定 git clean -d -fx ""…
reference : https://www.cnblogs.com/ungshow/p/3515161.html 看CM源码时,发现历史记录里有很多squash,于是google了解了一下. Git相对于CVS和SVN的一大好处就是merge非常方便,只要指出branch的名字就好了,如: $ git checkout another # modify, commit, modify, commit ... $ git checkout master $ git merge another…
error: Your local changes to the following files would be overwritten by merge: *********** Please, commit your changes or stash them before you can merge. 第一种情况:如果希望保留生产服务器上所做的改动,仅仅并入新配置项, 处理方法如下: git stash git pull git stash pop 然后可以使用git diff -w +…
参考:https://www.cnblogs.com/wenlj/p/5866356.html https://my.oschina.net/lixiaoyan/blog/1821947 #### 将远程分支拉去到本地创建新的分支:git checkout -b myNewRelease origin/Release --- myNewRelease 本地新建分支名 --- origin/Release 远程分支名 查看本地分支:git branch 切换现有分支:git checkout od…