Git 仓库
- 在 gitee 上创建一个远程中的空白中央仓库
- 将本地已搭建项目的仓库与远程仓库关联,将本地版本库推送到远程中央仓库中:
$ git remote add origin xxx
$ git push origin master
- 进行远程中央仓库设置:
- 设置为开源项目
- 添加小组成员到当前中央仓库中
- 在远程中央仓库中,基于 master 分支,创建 dev 分支(以后小组成员写的代码,向 dev 分支中合并),将 dev 分支设置为默认分支
解决冲突:
- 从远程中央仓库中克隆代码(默认克隆的 dev 分支)
$ git clone xxx
- 在本地创建自己的开发使用到的分支
$ git checkout -b 分支名称
# 如:
$ git checkout -b zhenzhi
- 在自己的分支中进行开发:在工作空间中完成任务编码
- 在完成一个功能并通过自测后,提交本地版本库
$ git add -A
$ git commit -m 'feat: 新功能' # feat:新特性 fix:修改bug chore:项目架构 refactor:项目重构 doc:文档 test:测试 .........
- 将本地版本库推送到远程中央仓库自己的分支中:
$ git push origin zhenzhi
-
在远程中央仓库自己的分支中,提交 Pull Request(合并请求,简称 PR) 。源分支选择为自己的分支,目标分支为 dev 分支,填写标题与说明,然后提交 PR。
-
如果提示绿色的 “可自动合并” 则说明源分支与目标分支不存在冲突,可直接合并,需要管理员通过评审测试后可合并到目标分支中。
-
如果提示红色的 “不可自动合并” 则说明源分支与目标分支之间存在代码冲突问题。通常先解决冲突后再进行合并。
冲突的主要原因是开发者都操作过相同的文件,在文件中存在冲突。
- 切换回 dev 开发分支
$ git checkout dev
- 将远程中央仓库中 dev 分支的最新版本拉取到本地
$ git pull origin dev
- 切换回自己的分支:
# 如: $ git checkout xiaohong
- 变基(改变基准分支,将最新的 dev 分支合并到当前分支来)
$ git rebase dev
- 如果变基失败(报错)则说明不能自动解决所有冲突问题,需要手动解决冲突
- 查看冲突文件:
$ git status
- 与小组成员讨论,手动解决所有冲突问题
- 在本地再次运行项目,查看是否能正常运行
- 手动解决冲突后,将已解决冲突文件添加到暂存区:
$ git add -A
- 继续变基:
$ git rebase --continue
-
如果进入编辑提交版本信息的界面(vim编辑器界面),可按
I
键进行插入编辑。要退出编辑器界面,按Esc
然后输入:wq
保存并退出。 -
如果在分支名称后还有
|REBASE 1/1
这类似的提示信息,则继续按照上述变基步骤处理(从5步开始继续变基)。 -
解决完冲突后,继续将自己的分支推送到远程中央仓库,提交 PR。如果本地自己分支与远程自己的分支存在冲突不能推送,可删除远程自己的分支再推送。