Git指令

153 阅读8分钟

git.png

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中敲

  1. 创建SSH Key : ssh-keygen -t rea
  2. 在文件路径 c:\用户名\当前用户名\ 找到.ssh文件夹
  3. 文件夹中有两个文件
    • 私钥:id_rsa
    • 公钥:id_rsa.pub
  4. 在github -> settings ->SSH and GPG keys 页面中,新创建SSH key
  5. 粘贴公钥 id_rsa.pub 内容到对应的文本框中
  6. 在github中新建仓库或者使用现在的仓库,拿到git@github.com:用户名/仓库名.git
  7. 以后,再次SSH方式与github通信,不用再输入确认密码了
  • 国外的是github仓库 国内的是gitee,企业用的是gitlab

提交规范

  • feat:新增feature
  • fix:修复bug
  • docs:仅仅修改了文档,比如README,CHANGELOG,CONTRIBUTE等等
  • style:仅仅修改了空格,格式缩进,逗号等等,没改变逻辑
  • refactor:代码重构,没有新功能或者修复bug
  • perf:优化相关,比如提升性能,体验
  • test:测试用例,包括单元测试、集成测试
  • chore:改变构建流程,或者增加依赖库、工具
  • revert:回滚到上一个版本

1、第一天进公司拉代码

  1. 拿到仓库地址,找到相应的仓库
    • 设置好公钥,便于git操作
  2. git clone 远程仓库地址
    • 拉取公司代码
    • 千万不要动master 跟devlopment分支的内容,这是公司业务的固定代码,是架构师干的事情
  3. 先切换到develop分支上
    • git checkout develop
  4. 在develop分支基础上,新建一个featrue-login分支,并切换过去
    • 这个新建的分支就是根据自己业务来的分支名
    • git branch 分支名
    • git branch -b 分支名 创建并切换
  5. 进行代码修改,此时的代码修改,我们在develop 的featrue分支上
  6. 代码修改结束之后,将代码保存到仓库区
    • git add . 把修改的所有部分保存到暂存区
    • git commit -m 'feat:login' 提交到仓库并加上说明
  7. 项目提测,需要合并分支
    • 目标分支是develop分支
    • 在合并之前,先在自己的featrue-login分支上pull一下develop分支上的代码,看看有没有合并冲突以及其他问题,有的话先解决
    • 检查无误后,再次pull一下
      • 通知组长,自己是否可以合并
      • 如果不用自己合并,那就上传到服务器仓库,有专门负责合并的人
    • 最后切换到develop分支,pull一下,git merge develop

2、协同开发代码处理

项目开始

  1. 克隆项目
# 在任意目录执行
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
  1. 远程仓库
  • 在码云上新建仓库,设为开源,创建项目名称
  • 拉入小组成员,点击管理仓库,点击仓库成员管理,点击开发者,点击添加仓库成员,点击邀请用户,点击直接添加,添加到仓库的才有操作权限
  1. 推送本地的所有分支
# 添加仓库地址别名  (仓库地址仅供参考)
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

开发阶段

开发者或者仓库成员,克隆你刚刚创建的仓库地址

  1. 克隆项目
# 在任意目录操作  (仓库地址仅供参考)
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分支上

测试阶段

由领导进行操作的过程

  1. 拉取远程develop分支到本地进行测试
# 拉取最新的develop分支到本地
git pull origin develop
# 合并到release分支
git checkout release
git merge develop
# 推送合并完成的release分支到远程仓库
git push origin release
  • 在本地进行测试,测试出bug在禅道指派bug给对应的成员
  1. 成员收到指派的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. 分支流程参考

image.png