# 代码管理
前言
前端开发中对代码的处理:代码的存储、代码的管控、代码的提交与合并
# 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
管理代码
# 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
12.将 master 合并到 dev
git checkout dev git merge master
1
23.将 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
- 情况 1:如果我们的有两次 commit 但是没有 push 代码(仓库没有提交记录)
总结
git 相关使用在项目中还是比较重要的,熟练掌握代码的提交、回退、分支切换能轻松应对复杂的频繁的需求开发