git 开发常用命令

417 阅读4分钟

第一次git基本配置(配置用户名和邮箱)


git config --global user.name xxx 
git config --global user.email xxx@qq.com

一.组长

. 克隆项目

git clone git@github.com:ifer-itcast/hmmm-frontend.git # 运行项目请参考`项目环境`
# git clone https://gitee.com/zhoushugang/hmmm-frontend-dev.git

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 账号并确认 -> 小伙伴会收到通知,点击确认(如出现404,把这个地址粘贴到已登录 GitHub 的浏览器)

22222.png

  1. 推送所有分支到远程仓库
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

二.组员

克隆项目所有分支

# 注意是 https:// 的地址
git clone https://github.com/ifer-itcast/test.git(组长的地址)
​
# 注意是 fetch
# git fetch https://github.com/ifer-itcast/test.git release:release
git checkout release # 如果说本地有,就切换到本地的 release,如果没有就去远端拉取 release 并切换
​
# git fetch https://github.com/ifer-itcast/test.git develop:develop
git checkout develop

谨慎添加对方公钥到自己的 GitHub,否则对方会拥有对你所有仓库操作的权限!

1. 创建任务分支

# 切换到 develop 分支
git checkout develop # 如果本地有 develop 分支,就直接切换,如果本地没有,会去远端把 develop 拉过来并切换到 develop
# 例如创建基础题库分支,规范(feature/功能)
git checkout -b feature/questions

2. 当你开发完成一个小功能/步骤需要提交代码

# 添加到暂存
git add .
# 提交本地仓库,无需推送!
git commit -m '备注'

三. 开发完毕

当你确认你的任务功能开发完毕后,合并到develop分支然后推送到远程

# 添加到暂存 git add .
# 提交本地仓库,无需推送! git commit -m '备注'
# 切换到develop分支
git checkout develop
# 注意!!!!拉取最新develop分支(没有配置origin直接使用仓库地址)
git pull origin develop
# 合并自己的任务分支   例如(featrue/questions)基础题库
git merge 提交的代码分支名
# 推送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

注意:checkout 切换分支之前要保证当前分支是干净的!

五.测试

. 拉取远程 develop 分支到本地进行测试

==合并的操作由项目经理进行==

# 先保证自己处于 develop
git checkout develop
# 拉取最新的develop分支到本地
git pull origin develop
# 合并到release分支
git checkout release
git merge develop
# 推送合并完成的release分支到远程仓库
git push origin release

1. 代码到本地进行测试

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. 测试完毕

==合并 master 的操作由项组长进行==

# 拉取最新的 develop 分支到本地
git pull origin release
# 合并到 release 分支
git checkout master
git merge release
# 推送合并完成的 release 分支到远程仓库
git push
# 有的公司,有自动化构建平台,这个平台/工具能自动拉去 master 的代码,自动打包发布
npm run build # 生成一个 dist 目录