首先git是什么?
Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git的读音为/gɪt/。
Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
----------摘自百度
其次什么是gitlab?
GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。安装方法是参考GitLab在GitHub上的Wiki页面。
----------摘自百度
gitlab的基本操作看作者上一个文章 gitlab 搭建自己的源代码管理器。
gitlab如何做项目管理?
首先团队需要有个领导者master,由master创建好项目,创建好项目,团队的成员就可以clone下来;
如果是之前,团队的成员就直接在主线上啪啪啪的撸码,提交提交在提交;
但是现在不一样了,master可以给主线设置权限,其他人都不可以提交到主线上,团队的成员根据功能划分创建相应的分支,没完成前提交本地,功能模块完成后,提交到远程仓库,并且是提交到远程仓库的分支;提交后需要多做一步,登录到gitlab网站,提交一个合并申请,提交给master。master就可以在线review你的代码,如果通过队员的代码就可以合并到主线上了。那么其他队员也可以拉取最新的代码,并且合并到自己的支线上。
一开始队员肯定各种用不惯,怨声载道,但是对是项目管理真的帮助特别大;可以监控项目进度,把控时间,提升代码质量。
另外,开发者应该多用分支,不要全部在一个分支,并且应该经常提交审核,一次性提交太多代码,不利于master的审核。
-----------------------华丽的分割线----------------------
作为队员的我该咋个做呢;
首先 克隆 git clone project;
根据自己的模块,创建分支,git branch module1
切换到分支 git checkout module1
---疯狂开发中.....
---开始完成.........
提交你的代码
git add <filename> //添加新增的代码
git add -u <filename> //添加修改的代码
git commit -m "测试" //提交代码,并附上信息
git push origin module1 //推送到远程仓库的分支
网站上 新建一个merge请求等待master审核;
附:
当开发过程中master突然修改了架构并且更新到了主线上,直接影响到你的撸码,就需要更新主线代码并合并到当前开发的支线;
git checkout master;//切换到主线;
如果切换出错,说有修改的内容没有合并之类的,先隐藏自己的更改;
git stash;
在切换到主线,拉取最新的代码到主线;
git pull;
切换到当前的支线,合并主线的代码到现在开发的支线上去;
git checkout module1;
git merge origin/master;//合并主线的代码到分支
------有的时候老大没空,你的merge 请求 得不到及时的响应,但是其他的小伙伴又需要你写的东西,其他小伙伴可以直接merge 你pull 的分支
git branch -a;//可以看到所有的分支,包括远程仓库的
git merge origin/<小伙伴的branch>; //合并你需要的小伙伴的分支到你的分支(merge前必须小伙伴提交)
如果有隐藏,就取消自己的隐藏;
git stash clear;
----------------------------以上个人理解不对忘海涵。