一、在码云注册 ssh 公钥

  1. 安装 git

  2. 打开 git bash

  3. 输入 ssh-keygen -t rsa -C "码云邮箱地址" ,三次回车之后生成密钥对

  4. 输入 cat ~/.ssh/id_rsa.pub,回车,生成的公钥会显示在控制台,复制控制台上的公钥内容

  5. 打开码云 --> 设置 --> SSH 公钥,将公钥内容粘贴至公钥下方的文本域,为该公钥起一个标识性的标题

  6. 验证是否添加成功

    1. 打开 git bash

    2. 输入 ssh -T git@gitee.com ,系统提示输入 yes/no,输入 yes,当下方出现:You've successfully authenticated, but GitHub does not provide shell access. 即表示成功注册 ssh 公钥

二、全局配置 git 属性

  1. 配置用户名和邮箱

    打开 git bash

    git config --global user.name "码云基本信息中的姓名"
    git config --global user.email "码云的邮箱地址"

     

  2. 设置保存用户名和密码(保存第一次输入的用户名和密码,后续操作会自动调用该用户名和密码)

    长期存储密码

    git config --global credential.helper store

     

  3. 从远程拉取代码

    git clone xxxurl 

    此时会弹出弹框要求输入用户名和密码(前面设置的记住密码会根据此次输入的内容进行存储)

    username: 码云邮箱地址
    password: 码云登录地址

     

  4. 若第一次拉取仓库时输入的用户名和密码错误则有以下方法补救

    1. 打开 控制面板 --> 用户账户 --> 凭据管理器 --> Windows 凭据

    2. 找到普通凭据,修改 gitee.com 凭据中的用户名和密码保存即可

  5. 再次拉取远程代码即可成功且此次操作和后续操作皆不用输入用户名密码

三、分支说明

3.1 master 分支

master 分支只能用来包括产品代码(即将上线/交付客户的代码)。不能直接在该分支上开发,不能直接提交改动到 master 分支。master 分支为长期分支,会存活在项目的整个生命周期中。

3.2 develop 分支

develop 分支是进行任何新的开发的基础分支,该分支汇集所有已完成的功能。所有功能开发完即可合并到 develop 分支,后续所有的新功能添加以及对当前版本的测试和 bug 修改都是基于该分支。develop 分支为长期分支,会存活在项目的整个生命周期中。

3.3 功能分支

从 develop 分支创建的 feature/v0.0.1 分支即为功能分支,仅仅是临时存在的,当完成自己的任务后会被删掉。

四、单人开发

在组织下新建仓库,自动生成 master 分支,在项目信息初始化之后,将该分支设置为保护分支,从 master 新建 develop 分支,将该分支设置为保护分支。

  1. 从 develop 分支新建 feature/v0.0.1 (版本根据实际情况) 分支作为开发分支

    // 创建功能分支
    git branch -b feature/v0.0.1
    // 推送至远程
    git push origin feature/v0.0.1
    // 绑定远程分支
    git branch --set-upstream-to=origin/feature/v0.0.1 feature/v0.0.1

     

  2. 将所有功能开发完毕后合并到 develop 分支并打包交付后端部署到服务器供测试人员进行测试。此时将 feature/v0.0.1 分支删除

  3. 从 develop 分支拉取 bugfix/0.0.1 分支进行代码修复准备,当全部测试修复完则将 bugfix/0.0.1 分支合并到 develop 分支,将 bugfix/0.0.1 分支删除

    // 创建修复分支
    git branch -b bugfix/0.0.1
    // 推送至远程仓库
    git push origin bugfix/0.0.1
    绑定远程分支
    git branch --set-upstream-to=origin/bugfix/0.0.1 bugfix/0.0.1

     

  4. develop 分支合并到 master 分支,master 分支在遇到版本变更时打 tag 进行记录

  5. 当提交到 master 分支的代码存在 bug,则从 develop 分支拉取 bugfix/0.0.2 (最后一位版本号加 1) 分支进行代码修复,当全部测试修复完则将 bugfix/0.0.2 分支合并到 develop 分支,将 bugfix/0.0.2 分支删除,develop 分支合并到 master 分支,上线前/交付前 版本号末位加 1,并打 tag

五、多人开发

  1. 由主导该项目的那位开发者在组织下新建仓库,自动生成 master 分支,在项目信息初始化之后,将该分支设置为保护分支,从 master 新建 develop 分支,将该分支设置为保护分支,拉取项目开发成员到该项目下。

  2. 由项目主导者从 develop 分支创建功能分支

    // 创建功能分支
    git branch -b feature/v0.0.1
    // 推送至远程
    git push origin feature/v0.0.1

     

  3. 开发者在功能分支 feature/v0.0.1 拉取开发者用于开发的分支

    // 创建功能分支并与远程功能分支进行绑定
    git branch -b feature/v0.0.1
    // 绑定远程分支
    git branch --set-upstream-to=origin/feature/v0.0.1 feature/v0.0.1
    // 拉取远程分支代码
    git pull
    // 根据已拉取代码后的功能分支创建开发分支
    git branch -b feature/v0.0.1/xiaohong
    // 提交开发分支到远程
    git push origin feature/v0.0.1/xiaohong
    // 绑定远程开发分支
    git branch --set-upstream-to=origin/feature/v0.0.1/xiaohong feature/v0.0.1/xiaohong

     

  4. 开发人员在各自的开发分支下进行开发,每天下班前提交代码至远程仓库,提 feature/v0.0.1/xiaohong 分支合并到 feature/v0.0.1 分支的 pr ,由主导者进行 code review ,没问题则同意 pr,有问题则给予建议改正,改正之后重新提 pr 进行合并即可。

  5. 每天开发前先进行代码拉取合并

    // 切换到 feature/v0.0.1 功能分支
    git checkout feature/v0.0.1
    // 拉取远程代码
    git pull
    // 切换到 feature/v0.0.1/xiaohong 开发分支
    git checkout feature/v0.0.1/xiaohong
    // 将 feature/v0.0.1 分支内容合并到 feature/v0.0.1/xiaohong 分支
    git merge feature/v0.0.1
    // 此时可能会出现冲突,若有冲突找到相关人员协商如何解决并提交至远程即可
    // 若无冲突,可直接进行后续开发

     

  6. 功能全部开发完则将 feature/v0.0.1 分支合并到 develop 分支,由项目主导者在码云上操作即可。打包静态文件给到后端,部署到服务器供测试人员进行测试。将 feature/v0.0.1 分支删除。

  7. 由项目主导者从 develop 分支拉取 bugfix/0.0.1 分支用于代码修复

    // 创建修复分支
    git branch -b bugfix/0.0.1
    // 推送至远程仓库
    git push origin bugfix/0.0.1

     

  8. 开发者从修复分支 bugfix/0.0.1 拉取开发者用于修复的分支

    // 创建修复分支
    git branch -b bugfix/0.0.1
    绑定远程分支
    git branch --set-upstream-to=origin/bugfix/0.0.1 bugfix/0.0.1
    // 拉取远程代码
    git pull
    // 根据已拉取代码后的修复分支创建开发分支
    git branch -b bugfix/v0.0.1/xiaohong
    // 提交开发分支到远程
    git push origin bugfix/v0.0.1/xiaohong
    // 绑定远程开发分支
    git branch --set-upstream-to=origin/bugfix/v0.0.1/xiaohong bugfix/v0.0.1/xiaohong

     

  9. 开发人员在各自的开发分支下进行 bug 修复,每天下班前提交代码至远程仓库,提 bugfix/v0.0.1/xiaohong 分支合并到 bugfix/v0.0.1 分支的 pr ,由主导者进行 code review ,没问题则同意 pr,有问题则给予建议改正,改正之后重新提 pr 进行合并即可。

  10. 每天开发前先进行代码拉取合并

    // 切换到 bugfix/v0.0.1 修复分支
    git checkout bugfix/v0.0.1
    // 拉取远程代码
    git pull
    // 切换到 bugfix/v0.0.1/xiaohong 开发分支
    git checkout bugfix/v0.0.1/xiaohong
    // 将 bugfix/v0.0.1 分支内容合并到 bugfix/v0.0.1/xiaohong 分支
    git merge bugfix/v0.0.1
    // 此时可能会出现冲突,若有冲突找到相关人员协商如何解决并提交至远程即可
    // 若无冲突,可直接进行后续开发

     

  11. bug 全部修复完则将 bugfix/v0.0.1 分支合并到 develop 分支,由项目主导者在码云上操作即可。将 bugfix/v0.0.1 分支删除。develop 分支合并到 master 分支,并在遇到版本变更时打 tag 进行记录

  12. 当提交到 master 分支的代码存在 bug,则从 develop 分支拉取 bugfix/0.0.2 (最后一位版本号加 1) 分支进行代码修复(重复 7 - 10 步骤),当全部测试修复完则将 bugfix/0.0.2 分支合并到 develop 分支,将 bugfix/0.0.2 分支删除,develop 分支合并到 master 分支,上线前/交付前 版本号末位加 1,并打 tag

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐