$ vim a.php //创建空白a.php,保存退出 $ cat a.php $ git a $ git c -m 'master' $ git branch //查看此时在master分支内 $ git checkout -b ask $ git checkout -b bbs //创建ask,bbs分支,最后切换到bbs分支内 $ vim a.php //修改文件,输入bbs,保存退出 $ cat a.php $ git a $ git c -m 'bbs' $ git s //查看状态 $ git checkout ask //切换至分支ask $ vim a.php //修改文件,输入ask,保存退出 $ git a $ git c -m 'ask' $ git checkout master //切换至分支master $ git merge bbs //合并bbs分支 $ git merge ask //合并ask分支 //此时报错,分支合并冲突 $ vim a.php //进入修改 $ git a $ git c -m 'success' $ cat a.php //查看修改后的内容,即已解决冲突分支管理--merged和--no-merged 以及强制删除分支-D
$ git branch --merged //可以查看已经合并的分支 //例 $ git checkout -b test $ git checkout master $ git branch --merged //此时查看会发现有test,这里表明test与master共用一个接口 $ git checkout test $ touch mm.php $ git a $ git c -m 'mm' $ git checkout master $ git branch --merged //此时查看就没有test了,表明test重新又有了另外一个接口
$ git branch --no-merged //查看未合并的分支
$ git branch -D test //强制删除未合并分支stash临时存储区
$ git stash //存储当前缓存区状态
$ git stash list //查看stash列表
$ git stash apply stash@{0} //切换至stash@{0}的缓存区状态
标签tag
$ git tag v1.0 $ git tag压缩
$ git archive master --prefix='hsin/' --forma=zip > hsin.zip系统别名定义git全局变量
进入.bash_profile
$ subl .bash_profilerebase合理优化分支
原理:主分支进行修改后,分支再合并时会产生一个新的分支。针对这种情况,我们需要rebase(replace base),移动分支结点到主分支新节点上,合并后便能优化分支
优化前合并:
优化后合并:
//master进行修改后 $ go ask $ git rebase master //在ask分支内,替换掉原先的master $ gl //查看日志 $ go master $ git merge ask //回到主分支,合并ask $ gl //再次查看日志



