一.组长
1.创建本地项目:
rm -rf .git # 删除项目中的 `.git` 文件夹
git init # 初始化仓库
git add . # 添加暂存区
git commit -m 项目初始化 # 提交本地仓库
git remote add origin https://gitee.com/ifercarly/hmm-front.git # 添加远程仓库地址
git push -u origin master # 推送到远端,第一次推送到 master 写完整,后续再推送到 master 只需要 git push 就行啦
git branch release # 基于 master 分支创建 release 分支,测试分支
git branch # 查看所有分支
git branch develop # 基于 master 分支创建 develop 分支,开发分支,一般组员在自己的分支把代码完毕后,都要合到这个分支上面
2. 新建远程仓库并拉小组成员
Settings -> Manage access -> 输入小伙伴 GitHub 账号并确认 -> 小伙伴会收到通知,点击确认
3.推送所有分支到远程仓库
git remote add origin git@github.com:ifer-itcast/test.git
# 推送 master 分支
git push -u origin master
# 推送 release 分支
git push origin release
# 推送 develop 分支
git push origin develop
二.组员
1.克隆项目所有分支
# 注意是 https:// 的地址
git clone https://github.com/ifer-itcast/test.git(组长的地址)git fetch # 注意是 fetch
# 拉取所有分支的内容git checkout release # 如果说本地有,就切换到本地的 release,如果没有就去远端拉取 release 并切换
git checkout develop
2.创建任务分支
# 切换到 develop 分支
git checkout develop # 如果本地有 develop 分支,就直接切换,如果本地没有,会去远端把 develop 拉过来并切换到 develop
# 例如创建基础题库分支,规范(feature/功能)
git checkout -b feature/questions
3.当你开发完成一个小功能/步骤需要提交代码
# 添加到暂存
git add .
# 提交本地仓库,无需推送!
git commit -m '备注'#如果需要其他组员帮忙可以提交本地分支代码到远程分支(假设在feature/questions分支),其他组员就可以通过拉取feature/questions分支来修改该分支代码
git push origin feature/questions
4.开发完毕
# 切换到develop分支
git checkout develop
# 注意!!!!拉取最新develop分支(没有配置origin直接使用仓库地址)
git pull origin develop
# 合并自己的任务分支 例如(featrue/questions)基础题库
git merge feature/questions
# 推送develop分支 (没有配置origin直接使用仓库地址)
git push origin develop
注意:
切换到了 develop,拉去了远端代码,合并了自己分支的代码,此时还需要再次开发新功能,建议直接基于 develop 重新创建一个新分支
假如张三又想开发一个新功能
# 保证目前处于 develop
git checkout -b feature/questionAdd
# 写代码....
git add .
git commit -m 又开发完啦
# 自己可以独立完成的分支没有必要 push 到远端
git checkout develop
# 注意!!!!拉取最新 develop 分支的代码
git pull origin develop
# 再合并
git merge feature/questionAdd# 再推送develop分支 (没有配置origin直接使用仓库地址)
git push origin develop
三.测试(组长)
1.拉取远程 develop 分支到本地进行测试
# 先保证自己处于 develop
git checkout develop
# 拉取最新的develop分支到本地
git pull origin develop
# 合并到release分支
git checkout release
git merge develop
# 推送合并完成的release分支到远程仓库
git push origin release
2. 创建修改 Bug 的分支
# 先保证自己处于 release
git checkout release
# 再拉取最新的 release 分支
git pull origin release
# 创建修改 bug 的分支,规范(hotfix/questions)
git checkout -b hotfix/questions
3. 进行修复
# 添加暂存
git add .
# 提交本地,无需推送!
git commit -m '修改基础题库bug-分页错误'
# 合并分支
git checkout release
# 拉取最新release分支
git pull origin release
git merge hotfix/questions
# 推送release分支
git push origin release
4.测试完毕
# 拉取最新的 develop 分支到本地
git pull origin release
# 合并到 release 分支
git checkout master
git merge release
# 推送合并完成的 release 分支到远程仓库
git push
# 有的公司,有自动化构建平台,这个平台/工具能自动拉去 master 的代码,自动打包发布
npm run build # 生成一个 dist 目录,把这个发给项目经理