git 分支
git 分支:
分支即是平行空间,假设你在为某个手机系统研发拍照功能,代码已经完成了80%,但如果将这不完整的代码直接提交到git仓库中,又有可能影响到其他人的工作,此时我们便可以在该软件的项目之上创建一个名叫"拍照功 能"的分支,这种分支只会属于你自己,而其他人看不到,等代码编写完成后再与原来的项目主分支合并下即可,这样即能保证代码不丢失,又不影响其他人的工作。
一般在实际的项目开发中,我们要尽量保证master分支是非常稳定的,仅用于发布新版本,平时不要随便直接修改里面的数据文件,而工作的时候则可以新建不同的工作分支,等到工作完成后在合并到master分支上面,所以团队的合作分支看起来会像下图那样。`
git log --oneline --decorate
HEAD 指针指向哪个分支、说明你当前在哪个分支下工作
(1) 新建分支
git branch testing # 新建testing分支
git branch
2。切换分支
git checkout testing
git log --oneline --decorate # 通过命令查看分支指向
接下来我们在testing 分支上创建新的文件:
[root@baimeidashu ~/git_data]#touch baimei.txt
[root@baimeidashu ~/git_data]#git add .
[root@baimeidashu ~/git_data]#git commit -m "add baimei.txt "
切换到分支 'master'
git checkout master # 切换到master分支后指针指向到了master
[root@baimeidashu ~/git_data]#git branch
* master
testing
在mastter分支上我们新建 mast.txt 文件
合并分支:
接下来我们把 testing 分支合并到 master分支上 (需要先切换到 Master 分支)
git merge testing # 提示输入描述信息 相当于git的-m参数
git log --oneline --decorate
冲突合并
[root@baimeidashu ~/git_data]#echo 333 >> zzy.text
[root@baimeidashu ~/git_data]#git commit -am ""
git checkout testing ##切换到分支 'testing'
[root@baimeidashu ~/git_data]#echo 4444 >> zzy.text
[root@baimeidashu ~/git_data]#git add .
[root@baimeidashu ~/git_data]#git commit -m ""
这个时候 我们咋master 和 testing 都同时修改了 zzy.text文件,
我们再来合并一下:
git checkout master
git merge testing
提示我们 自动合并失败,修正冲突然后提交修正的结果。
更改一下冲突再次提交
git commit -am "meiger"
合并后
testing 分支可以删除了
删除分支
git branch -d testing