# 代码管理

前言

前端开发中对代码的处理:代码的存储、代码的管控、代码的提交与合并

# 1.代码仓库

以gitlab 为例

  • 配置 ssh
  • 权限

# 2.代码管理

  • 简单项目分支
    • dev:开发分支,直接在 dev 上进行开发,测试环境没问题,合并到 prod
    • prod:生产分支
  • 复杂项目分支
    • dev:开发分支,需求开发时使用自己名称创建各自开发分支【name】dev
    • 【name】dev:开发者的开发分支,需求开发完成合并到 dev
    • prod:生产分支

# 3.代码提交

这里直接使用GitLens插件来管理代码的提交:dev开发分支,master主分支,现在dev开发完成,需要合并到master

  • 1.在 vscode 中安装代码提交工具GitLens插件
  • 2.重启 vscode 就可以使用GitLens管理代码

参考教程 (opens new window)

# 3.1 代码提交

普通提交

  • 1.为防止直接提交有冲突产生,可以先将1.本地代码储藏,然后2.拉取代码,然后3.弹出储藏将暂存的代码合并,有冲突解决冲突后再提交

多分支提交:同一个 bug 需要提交不同的分支维护,但是每个分支代码不一定相同,代码量如果比较多,容易出现问题

  • 1.修改好一个分支代码提交后,1.拷贝相同的文件在目录中2.储藏,然后3.切换目标分支4.弹出储藏,对比两个文件,修改相关内容,删除之前拷贝的文件

# 3.2 创建分支

# 3.3 切换分支

git checkout dev
1

# 3.4 分支合并

  • 1.将 master 代码更新

    git pull origin master
    
    1
  • 2.将 master 合并到 dev

    git checkout dev
    git merge master
    
    1
    2
  • 3.将 dev 合并到 master

    git commit -m '代码提交' # (有冲突解决冲突)
    git push -u dev
    git checkout master
    git merge dev
    
    1
    2
    3
    4

# 3.5 临时存储

  • 有些功能代码暂时不确定是否要合并到代码中、自己的一些测试代码、写了一半功能的代码、此版本不需要提交的代码

# 3.6 代码比较

# 3.7 代码回退

需求变动频繁经常会用到的一个场景

  • 方式一:反向提交

    • 情况 1:当代码已经 commit 但没有 push 时,可使用如下命令操作(仓库没有提交记录

      git revert HEAD //撤销倒数第一次提交
      git revert HEAD^ //撤销倒数第二次提交
      git revert HEAD~2 //撤销倒数第三次提交
      git revert commit //(比如:fa042ce57ebbe5bb9c8db709f719cec2c58ee7ff)撤销指定的版本,撤销也会作为一次提交进
      
      1
      2
      3
      4
    • 情况 2:当代码已经 commit 并 push 时,可使用如下命令(仓库有提交记录

      git revert HEAD~1 //代码回退到前一个版本
      
      1
  • 方式二:删除提交

    • 情况 1:如果我们的有两次 commit 但是没有 push 代码(仓库没有提交记录
      git reset HEAD~1      //撤销前一次 commit,所有代码回到 Working Copy
      
      1
    • 情况 2:假如我们有几次代码修改,并且都已经 push 到了版本库中(仓库没有提交记录
      git reset --hard HEAD~2   //本地的Wroking Copy回退到2个版本之前
      
      1

总结

git 相关使用在项目中还是比较重要的,熟练掌握代码的提交、回退、分支切换能轻松应对复杂的频繁的需求开发