git config 配置账号密码
- git config user.name 你的目标用户名
- git config user.email 你的目标邮箱名
使用--global参数,配置全局的用户名和邮箱,只需要配置一次即可。推荐配置github的用户名和邮箱
- git config --global user.name jepson
- git config --global user.email jepsonpp@qq.com
查看配置信息
- git config --list
取消配置
- git config --unset --global user.name
- git config --unset --global user.email
git init 初始化仓库
git status 查看状态
git add . 把所有文件添加到暂存区
git add . 一次性把文件夹没存进暂存区的内容都存进去
git restore . 撤回删除的文件
撤回删除的文件,操作跟add差不多,加个点就是全部恢复上一步操作
git commit -m "提交说明" 提交暂存区的代码到仓库
git reset 版本回退
当使用了git reset
命令后,版本会回退,使用git log
只能看到当前版本之前的信息。使用git reflog
可以查看所有的版本信息
git log 查看提交日志
git branch 分支操作
- git branch
分支名
创建分支 在创建分支的时候,这个分支里面的代码跟主分支上面一样
只有第一次提交之后才会生成master主分支,有了主分支之后才可以生成其他分支 - git branch 查看所有分支
git branch
可以查看所有的分支,
在当前分支的前面会有一个*
在git中,有一个特殊指针HEAD
,永远会指向当前分支 - git checkout
分支名
先创建分支才能切换分支
在切换分支之前,要把修改好的代码存进仓库里面才可以切换 - git checkout -b
分支名
创建并切换到当前的分支 - git checkout -d
分支名
删除分支 注意:不能在当前分支删除分支,要先切换离开当前分支再删除这个分支
git merge 需要合并的分支名
合并分支
- 合并冲突,遇到冲突,需要手动解决,之后需要add和commit提交
git clone 远程仓库地址
克隆远程仓库的代码到本地
克隆的时候不需要初始化仓库,因为下载下来的仓库自带创建好的.git仓库
git克隆默认会使用远程仓库的项目名字,也可以自己指定。需要是使用以下命令:git clone [远程仓库地址] [本地项目名]
git remote 绑定远程仓库并设置别名
-
git remote add
仓库别名
仓库地址
给远程仓库设置一个别名 比如:git remote add jepson git@github.com:jepson/test.git -
git remote remove jepson 删除jepson这个别名
-
git clone的仓库默认有一个origin的别名
git push 远程仓库地址(或者远程仓库的别名)
master 把本地的master分支推送到远程仓库
在上面配置好远程仓库路径跟别名之后,直接git pull 就行了
git pull 远程仓库地址(或者远程仓库的别名)
master 更新拉取远程仓库最新的代码到master分支上
在上面配置好远程仓库路径跟别名之后,直接git pull 就行了
SSH免密码登录设置
注意:以下代码需要在bash中敲
- 创建SSH Key : ssh-keygen -t rea
- 在文件路径 c:\用户名\当前用户名\ 找到.ssh文件夹
- 文件夹中有两个文件
- 私钥:id_rsa
- 公钥:id_rsa.pub
- 在github -> settings ->SSH and GPG keys 页面中,新创建SSH key
- 粘贴公钥 id_rsa.pub 内容到对应的文本框中
- 在github中新建仓库或者使用现在的仓库,拿到git@github.com:用户名/仓库名.git
- 以后,再次SSH方式与github通信,不用再输入确认密码了
- 国外的是github仓库 国内的是gitee,企业用的是gitlab
提交规范
- feat:新增feature
- fix:修复bug
- docs:仅仅修改了文档,比如README,CHANGELOG,CONTRIBUTE等等
- style:仅仅修改了空格,格式缩进,逗号等等,没改变逻辑
- refactor:代码重构,没有新功能或者修复bug
- perf:优化相关,比如提升性能,体验
- test:测试用例,包括单元测试、集成测试
- chore:改变构建流程,或者增加依赖库、工具
- revert:回滚到上一个版本
1、第一天进公司拉代码
- 拿到仓库地址,找到相应的仓库
- 设置好公钥,便于git操作
- git clone 远程仓库地址
- 拉取公司代码
- 千万不要动master 跟devlopment分支的内容,这是公司业务的固定代码,是架构师干的事情
- 先切换到develop分支上
- git checkout develop
- 在develop分支基础上,新建一个featrue-login分支,并切换过去
- 这个新建的分支就是根据自己业务来的分支名
- git branch 分支名
- git branch -b 分支名 创建并切换
- 进行代码修改,此时的代码修改,我们在develop 的featrue分支上
- 代码修改结束之后,将代码保存到仓库区
- git add . 把修改的所有部分保存到暂存区
- git commit -m 'feat:login' 提交到仓库并加上说明
- 项目提测,需要合并分支
- 目标分支是develop分支
- 在合并之前,先在自己的featrue-login分支上pull一下develop分支上的代码,看看有没有合并冲突以及其他问题,有的话先解决
- 检查无误后,再次pull一下
- 通知组长,自己是否可以合并
- 如果不用自己合并,那就上传到服务器仓库,有专门负责合并的人
- 最后切换到develop分支,pull一下,git merge develop
2、协同开发代码处理
项目开始
- 克隆项目
- 远程仓库地址(虚拟) gitee.com/xlbloveyjj/…
# 在任意目录执行
git clone https://gitee.com/xlbloveyjj/vue-mob.git
2. 克隆下来的仓库拥有自己的仓库,如果想要自己创建仓库,自己创建自己的分支
- 具体步骤
- 删除项目中的.git 文件夹
- 初始化仓库 git init
- 添加暂存区 git add .
- 提交本地仓库 git commit -m '项目初始化'
- 目前是在master分支上 在master分支上创建release分支 git branch release
- 基于master分支创建develop分支 git branch develop
- 远程仓库
- 在码云上新建仓库,设为开源,创建项目名称
- 拉入小组成员,点击管理仓库,点击仓库成员管理,点击开发者,点击添加仓库成员,点击邀请用户,点击直接添加,添加到仓库的才有操作权限
- 推送本地的所有分支
# 添加仓库地址别名 (仓库地址仅供参考)
git remote add origin https://gitee.com/xlbloveyjj/vue-mob.git
# 推送master分支
git push -u origin master
# 推送release分支
git push origin release
# 推送develop分支
git push origin develop
开发阶段
开发者或者仓库成员,克隆你刚刚创建的仓库地址
- 克隆项目
# 在任意目录操作 (仓库地址仅供参考)
git clone https://gitee.com/xlbloveyjj/vue-mob.git
# 拉取其他分支
git fetch https://gitee.com/xlbloveyjj/vue-mob.git release:release
git fetch https://gitee.com/xlbloveyjj/vue-mob.git develop:develop
2. 创建任务分支
# 切换到develop分支
git checkout develop
# 例如创建基础题库分支 规范(feature/功能)
git checkout -b feature/login
3. 开发阶段 注意:每当开发完成一个小功能,就要提交代码一次
# 添加到暂存
git add .
# 提交本地仓库 (不需要推送到远程仓库)
git commit -m '备注'
4. 开发完毕 当你确认你的任务功能开发完毕之后,进行合并自己的分支,并把合并好的分支推送到远程仓库
# 完成自己的功能之后,先保存
git add .
git commit -m 'feat'
# 切换到develop分支
git checkout develop
# 拉取最新develop分支(没有配置origin直接使用仓库地址)
git pull origin develop
# 切换到自己的任务分支,要切换到自己的分支上再合并
git checkout feature/login
# 合并develop分支到自己的任务分支 例如(featrue/login)登录页
git merge develop
# 解决完合并冲突之后,推送自己的分支到远程仓库 (没有配置origin直接使用仓库地址)
git push origin feature/login
上面的操作就是推送自己的分支到远程仓库,然后由别人来合并到develop分支上
测试阶段
由领导进行操作的过程
- 拉取远程develop分支到本地进行测试
# 拉取最新的develop分支到本地
git pull origin develop
# 合并到release分支
git checkout release
git merge develop
# 推送合并完成的release分支到远程仓库
git push origin release
- 在本地进行测试,测试出bug在禅道指派bug给对应的成员
- 成员收到指派的bug后创建修复分支进行修复
- 创建修改bug的分支
# 拉取最新的release分支
git pull origin release
# 创建修改bug的分支 规范(hotfix/login) 和开发分支命名一致功能命名
git checkout -b hotfix/login
- 进行修复
# 添加暂存
git add .
# 提交本地
git commit -m '修改基础题库bug-分页错误'
# 合并分支
git checkout release
git merge hotfix/questions
# 拉取最新release分支
git pull origin release
# 推送release分支
git push origin release
3. 测试完毕
# 拉取最新的develop分支到本地
git pull origin release
# 合并到release分支
git checkout master
git merge release
# 推送合并完成的release分支到远程仓库
git push origin master
4. 分支流程参考