打算这两天把菜鸟教程的Git全部啃完,现在是“速通”?我忘了怎么形容了,反正最近要赶紧把git给的看完,至于到时候还记得多少,不记得就看自己博客就对了~!!学完还要看PHP呢。。
Git分支管理
什么是分支呢?其实理解起来也很简单,好比一棵树,树有主干,树有很多树枝,树枝基于树干成长,但是剪掉这些树枝又不会影响树干的成长,这些树枝虽然基于树干成长,但是又可以脱离树干的控制自由成长成独特的样子;转换成Git的分支其实就是,在开发的时候有一个开发主线,然后开发者可以基于开发主线做分离,分离出来的就是分支,而这些分支不影响主线的同时也能继续工作。
创建分支
创建分支前要先进入项目文件夹,然后命令格式如下
git branch 分支名
列出和删除分支
命令格式:
git branch
git branch -d 想要删除的分支名 //删除分支命令
列出分支命令是不是很像创建分支,创建分支只是多了个分支名,不写分支名就是列出分支,列出分支的列表前面有个星号*的,是你当前所在的分支。
切换分支
切换分支前也要先进入项目文件夹,命令格式如下
git checkout 分支名
创建了分支之后,切换分支不会影响到另一个分支的内容,也就是说,例如有master分支和git分支,同时都有一个被提交了的readme.md文件,用户在master分支修改了readme.md文件,是不会影响到git分支的readme.md文件,在切换分支的时候,提交过的文件也会相应的切换,例如在git分支下面提交了一个aa.md文件,在master分支提交了一个bb.md文件,通过ls查看,在git分支是不会看到bb.md文件的,同理在master分支也不会看到aa.md文件。
合并分支
把其他分支合并到当前分支的命令,命令格式如下:
git merge 被合并的分支名
例如,想把git分支的内容合并到master,那么命令就是:
git checkout master //切换当前分支为master,如果当前分期是master就不用这个命令
git merge git //合并git分支到master
合并冲突
关于这个,其实没什么好说的,很多教程都有提到些啥,那我也做个简单的记录吧,其实合并冲突就是在项目分支合并的时候,出现分支里面两个同名文件有地方发生冲突,导致合并的时候有冲突。只要发生冲突的时候用git status查看冲突内容,然后手动修复就行了。
参考资料:解决冲突
储藏当前工作
在遇到某些bug突然需要修复的时候,但是目前还有项目需要做,而且不能提交,这个时候可以储藏当前工作,然后切换到另一个bug项目上面进行bug修复。命令如下:
git stash
分支管理策略
通常合并分支时候,Git可能会用Fast forward模式,这种模式在删除分支后,会丢掉原有的分支信息,但是在开发时候我们是需要保留一些信息从而知道自己当时是从哪里合并过分支等信息,但是只要禁用Fast forward模式,Git就会在合并分支的时候生成一个新的commit,然后分支历史就能看到原有的分支信息。
相关命令:
git merge --no-ff




0 条评论