我们使用 Git 管理项目代码,如果你被邀请参与项目开发,请务必仔细阅读文章。 请根据自己参与项目查阅对应的 Git 文章,按文章一步步操作,了解使用规范和流程。 如果按照文中步骤操作出现问题,请直接联系 Tinker。 我会根据你的问题,继续补充完善文章,谢谢 :)。 注册账号如果你准备参阅项目开发,可阅读此步。参照 项目开发流程 说明的发布相应消息。 首先,你需要注册奇迹空间(北京)科技有限公司 GitLab 账号,具体操作流程见: 注册完成后,告知 Tinker 你的 Gitlab 账号,消息格式为:
根据情况,我会给你以下项目权限
认真并仔细阅读 Git 教程,操作一遍所有的 Git 命令/操作,就能明白 Git 协作开发项目流程了。 安装 Git请参考文章:安装 Git – 廖雪峰 将 Git 项目代码下载到本地写项目的第一步是要把代码下载到本地并运行起来,操作流程见: 每个 Git 项目的根目录都会有一个 readme.md 文件,参照 readme.md 的内容,把项目运行起来。 我不满意 Android 的文章,感兴趣的朋友可以联系我,然后你来完善。 查看分支Git 最重要的一个概念是分支,新手一定要了解分支。 从我学习 Git 的经历来看,看概念不如实际操作学的快、学的深。根据我文章描述的步骤一步步执行,应该可以明白什么是分支、怎么操作分支等内容。 如还不懂,就多 Google 看看别人写的文章吧。看到好的东西可以联系我补充完善咱们的 Git 文章。 按照上一步操作,我们已经把 Git 项目下载到本地,这时本地项目分支应该是 master 分支,查看自己所在分支操作流程见: 切换分支在查看分支这一步,你应该了解到项目有 master、development 分支:
在本地开发项目,请一定要切换到 development 或 feature(下文中会描述什么是 feature 分支) 分支操作,切换分支的操作流程见: 新建功能分支我们开发新功能,都是在 development 分支上衍生一条新的分支,即功能分支,也就是下文所说的 feature 分支。 所谓的 A 分支衍生 B 分支、基于 A 分支创建 B 分支,其实就是把 A 分支的代码完全复制一份,并将其命名为 B。 具体操作流程见:基于 Development 分支创建 Feature 分支。 为什么要新建功能分支,而不是在 master 或 development 分支上直接提交代码呢? 主要目的有两个:
所以,项目的 master 和 development 分支是受保护的:
提交代码为了保证代码不丢失,当你觉得完成一小部分功能后一定要及时提交代码。 提交代码请按照下述流程操作:
2、3步骤通过 IDE 是可以同时进行的,具体操作步骤见下述文章 具体操作流程见:
PHP + iOS 的文章还未写,感兴趣的朋友可以联系我,然后你来撰写文章。 feature 分支合并 development 分支下文中提到的合并即 merge,A merge B 就是把 B 中『A 没有的代码』复制到 A,如果同一个代码文件不一样,Git 是会提示冲突,这时候你需要细心的解决冲突。 简单来说 A 跟 B 做比较:
了解完 merge 后,我们需要明白为什么 feature 分支需要 merge development 分支的代码。 一般一个项目是多人参与开发的,因为功能及开发时间点不一致,feature 分支合并到 development 的时间也不同,也就导致了众多的 feature 代码落后于最新的 development 代码。 比如说你新建 feature A 分支是基于 1 月 1 号的 development 分支代码,而 development 分支在 1 月 2 号 merge 一个 feature B 分支,这时候你的 feature A 是缺少 development 新 merge 的代码。 如果你没有将 development 分支新的代码 merge 到自己的 feature A 分支上,如果两个分支的代码存在冲突,Pull Request 页面会提示有冲突导致无法合并,如下图所示: 如看到这样的提示,接下来你就需要解决冲突。 请谨记,这个 merge 操作非常重要! 如不及时 merge,development 分支代码增多,development 分支与你的 feature 分支不同的代码会越来越多,也就是让冲突越来越多,等最后合并时,你会发现解决冲突的时间远超于你开发时间了。 所以,如果看到了 development 分支代码有更新,一定要及时将最新的 development 代码 merge 到自己的 feature 上。 该步骤的具体操作流程见:
提交 Pull Requet当你确保自己的代码已经合并了 development 分支最新代码后并且没有冲突,你需要提交 feature 分支合并到 development 分支的 Pull Requst。 请注意这里的描述:
具体操作流程见:
|
|