113-《团队协作工具》-git

目录

  • git概念
  • git安装
  • git个人使用
  • git分支
  • git团队使用流程

一、git基础

1.1 git概念

  • git是一款针对团队代码的版本管理工具,可以实现团队项目代码的共享和维护。
  • git本身是一款软件,需要下载使用。下载后就可以利用git以及一个在线代码托管平台(github、gitee、gitlab)就可以是团队代码的安全共享,实现团队代码的上传和下载。

1.2 作用

  • 实现团队代码的在线管理(配合在线的代码托管平台,俗称远程仓库)

1.3 环境搭建

  • 代码管理环境分两个部分

    • 第一个:下载git并安装,git安装后就可以将远程仓库的代码下载到本地或上传到远程仓库
    • 第二个:需要在某个代码托管平台(gitee)注册账号并加入到团队的仓库(个人开可以选择自己新建一个仓库)
  • 第一个:安装git

    • 官网下载安装包并安装:git-scm.com/downloads

    • 版本:都可以,直接安装最新

    • 安装:打开安装文件,一路next即可。建议保持安装到c盘(拥有最高权限)

    • 测试

      • 在任意目录(安装到c盘。如果安装到其他盘,则在对应盘)打开终端,输入git -version查看版本,如果有输出则安装成功

        css 复制代码
        git --version
      • 或者任意文件夹右击菜单,确保有以下两个新选项

  • 第二个:注册码云账号

    • 进入官网,进行注册:gitee.com/profile/ema...

    • 注册后进入个人中心完成主邮箱(可用)的配置,方便后续本地的git软件和码云账号进行关联

二、git 使用

  • 需求:实现将码云的一个新仓库和本地的某个项目进行关联。(每个新项目都需要来一次)

  • 流程

    • 码云上新建仓库(一个仓库对应一个项目,比如前端项目需要一个,后端项目需要另一个新仓库)

2.1 新建仓库并克隆到本地

  • 1.新建仓库流程

    • 1.1登录码云后,点击新建仓库按钮

    • 1.2输入内容进行新建

    • 3.点击新建就可以了

  • 需要配置本地git软件的用户邮箱和昵称(和码云账号进行绑定关联)

    • 使用git本身的两个用户配置命令(所有仓库都可以用,整个git使用过程中只需要一次)

      在任意目录右击鼠标,选择git bash here打开git的专属终端,分别输入以下的用户配置命令完成和码云邮箱的绑定.命令每次输入一句回车后输入下一句

      arduino 复制代码
      git config --global user.email  "gitee上激活的邮箱"
      git config --global user.name  "你自己的自定义昵称"
      • 输入完成状态
  • 2.在码云仓库详情页面复制仓库的git使用地址,利用git命令下载仓库初始代码到本地

    • 克隆仓库代码git命令(通过git专属终端使用):

      bash 复制代码
      git clone gitee的仓库地址以.git结尾
  • 3.在第二步过程中,如果是第一次进行下载代码(克隆),需要输入马云的 注册账号名称以及密码完成用户身份认证。认证后才可以进行下载和上传。(后续操作就不需要)

    • 账号见下方的位置,密码就是码云账号的注册密码

  • 4.测试上传代码到码云

    • 见2.2

2.2 git上传代码到码云仓库

  • 简要流程

    • 使用git add . 将所有待提交的代码保存到暂存区(即将上传的等待区)
    • 使用git commit -m完成暂存区所有代码的提交,提交后会生成一个新版本的代码,方便后续项目代码的后退。每次commit(提交)都会生成一个新版本的代码,不管有没有上传到码云上。
    • 将最新版本的代码推送(push),也就是上传到码云上
  • 详细命令流程(在克隆项目文件夹目录下(.gitignore目录下)打开git终端,输入以下命令进行上传操作)

    • 1.将待上传的代码保存到暂存区中

      csharp 复制代码
      git add .
      • .表示所有文件的意思
    • 2.提交新版本。

      sql 复制代码
      git commit -m "新版本代码说明"
    • 3.将某个分支的最新版本代码推送到远程仓库

      perl 复制代码
      git push 或 git push origin 其他分支名称
      • 上传成功后码云仓库代码就会更新,也可以用来测试是否上传成功

2.3 拉取分支最新代码

  • 拉取当前分支最新代码

    git pull

  • 拉取指定分支代码

    git pull origin 分支名称

三、团队git开发

  • 场景:因为现在所有团队成员都是将代码提交到同一个地方(master分支),但是可能存在成员不小心删掉代码并提交,会导致其他成员的代码不存在。---git分支

3.1 分支机制

  • 概念:git分支是git为了区分和保全每个成员代码而设计的代码保存机制。指每个仓库可以复制生成多个子仓库(每个子仓库被称为一个分支),每个成员都可以拥有一个自己的分支。平时提交代码可以先提交到个人分支,然后再来完成个人分支和主分支(master)的代码合并。

  • 作用:分支可以保证个人最新代码的备份以及更加安全的进行代码共享。不会出现其他成员误删代码或者代码错误等情况。

  • 细节

    • 每个分支的代码都是独立的,当切换分支之后那么,克隆下来的项目代码就会切换到对应分支最新版本的代码
  • 相关命令

    • 新建或切换到某个分支

      css 复制代码
      git checkout -b 分支名称

      -b:可选参数,一般是新建分支才使用-b,如果没有-b,就只是切换到某个旧的分支。那么当切换分支之后,开发工具就会显示切换分支的对应代码。

      新建的分支只存在于本地,远程仓库是没有新分支,可以在新分支状态下进行推送到远程仓库,那么码云就有新分支

      新建的分支默认会复制当前状态下的切换之前所在分支的代码。

  • 合并分支

    • 概念:是指某个分支将其他的一个分支的代码合并到自己分支下的过程就叫合并分支

    • 作用:让某个分支拥有另一分支最新的代码,一般用于整合两个分支的代码确保该分支下拥有团队最新的项目代码。

    • 流程

      • 需要先切换到需要合并的分支下
      • 再使用git merge命令将其他分支的代码合并到第一步的分支下
    • 语法

      • 分支A合并分支B的代码(将分支B的最新版本代码加入到分支A中)

        css 复制代码
        1.确保当前处于分支A状态下,git merge 分支B的名称
      • 可以通过观察git终端的蓝色文字确定当前是出于哪个分支下(图片所示是master分支-即主分支)

    • 合并的细节

      • 如果是master合并其他分支的代码,可能会触发fast-forward(即快速提交),git会自动进行一次提交流程。如果出现了fast-forward,那么只需要进行推送(只需执行push命令)就可以实现远程仓库master分支拥有最新的代码(合并之后的)

3.2 团队开发流程

  • 团队项目搭建过程

    • 组长或项目经理新建仓库,加入每个团队成员,并为每个团队成员新建一个分支并设置提交和推送权限(也有可能团队成员自己创建分支)
    • 组长将项目的初始文件夹推送到master分支下,其他成员拉取master分支代码在这基础上进行开发
    • 每个成员第一次需要通过git clone将项目下载到本地,之后拉取一次master分支代码,保证分支之类的是最新版本。 之后开发代码提交就用git push origin ,拉取就用git pull
  • 个人开发团队流程(如果组成负责了分支创建,那么前三步已经完成,直接第4步开始)

    • 1.(一次性)在本地某个目录下克隆项目代码
    • 2.切换到master并拉取代码(确保本地的团队代码是最新的)
    • 3.新建个人分支并推送到远程仓库(一次性,但也有可能组长给你弄好了,看公司)
    • 4.在个人分支上进行开发(页面、js、后端)
    • 5.开发完之后进行功能测试,测试ok推送到个人分支
    • 6.切换到master分支,拉取一次master分支(确保拉取其他同事最新的代码)
    • 8.拉取后合并个人分支的代码,确保测试ok
    • 9.推送到master分支(其他成员就可以使用最新代码)
    • 10.切换到个人分支,将master分支合并到个人分支(和其他成员最新代码保持同步)
    • 11.测试功能ok,再推送到个人分支(保证个人分支也是拥有master最新代码,到此就完成了代码同步)
    • 12.如果要继续开发新功能或修改bug,从第4步开始

项目中的git应用

将项目代码进行上传并忽略npm包

  • 大概流程(前端项目和后端项目流程差不多)

    • 1.在码云上新建项目对应的仓库(前端一个,后端另一仓库)
    • 2.在本地通过git clone完成项目的克隆
    • 3.修改克隆项目下的配置文件.gitignore,保证上传忽略node_modules文件夹的上传
  • 详细流程

    • 1.略

    • 2.略

    • 3.修改配置文件

      打开.gitignore,添加一句代码node_modules,并保存。

    • 4.先上传一次,保证远程仓库配置文件更新

    • 5.再书写项目代码,书写完后再进行一次完整的上传流程(即git add .git commitgit push

相关推荐
会发光的猪。16 分钟前
【 ElementUI 组件Steps 步骤条使用新手详细教程】
前端·javascript·vue.js·elementui·前端框架
我家媳妇儿萌哒哒17 分钟前
el-table合并单元格之后,再进行隔行换色的且覆盖表格行鼠标移入的背景色的实现
前端·javascript·elementui
baiduguoyun32 分钟前
react的import 导入语句中的特殊符号
前端·react.js
前端青山33 分钟前
webpack指南
开发语言·前端·javascript·webpack·前端框架
NiNg_1_2341 小时前
ECharts实现数据可视化入门详解
前端·信息可视化·echarts
励志前端小黑哥1 小时前
有了Miniconda,再也不用担心nodejs、python、go的版本问题了
前端·python
喵叔哟2 小时前
重构代码之取消临时字段
java·前端·重构
还是大剑师兰特2 小时前
D3的竞品有哪些,D3的优势,D3和echarts的对比
前端·javascript·echarts
王解2 小时前
【深度解析】CSS工程化全攻略(1)
前端·css
一只小白菜~2 小时前
web浏览器环境下使用window.open()打开PDF文件不是预览,而是下载文件?
前端·javascript·pdf·windowopen预览pdf