标签:news review lis 创建 任务 冲突 开发人员 viewer 昨天
代码昨天还是运行好好的今天就不行了。
代码被删了。
突然出现了一个奇怪的 bug,但是没人知道怎么回事。
如果你出现过上面的任何一种情况,那本篇文章就是为你准备的。
除了知道 git add
, git commit
, git push
之外,Git 中还需要其他重要的技术需要掌握。长远来看对我们是有帮助的。这里我将向你展示 Git 的最佳实践。
当有多个开发者同时涉及到一个项目时那么就非常有必要正确使用 Git 工作流。
这里我将介绍一种工作流,它在一个多人大型项目中将非常有用。
突然有一天,你成为了一个项目的技术 Leader 并计划做出下一个 Facebook。在这个项目中你有三个开发人员。
release/
开头的普通分支。release/fb
。release/messenger
。feature/
开头。feature/login
。Alice 将会在这个分支上编写所有的登录代码。feature/friendrequest
的功能分支。feature/newsfeed
的功能分支。feature/login
发送给 Release(发布) 分支。这个过程是通过发起一个 pull request
完成的。首先 pull request
不能和 git pull
搞混了。
开发人员不能直接向 Release(发布) 分支推送代码,技术 Leader 需要在功能分支合并到 Release(发布) 分支之前做好代码审查。这也是通过 pull request
完成的。
Alice 能够按照如下 GitHub 方式提交 pull request
。
在分支名字的旁边有一个 “New pull request” 按钮,点击之后将会显示如下界面:
feature/login
。release/fb
。点击之后 Alice 需要为这个 pull request
输入名称和描述,最后再点击 “Create Pull Request” 按钮。
同时 Alice 需要为这个 pull request
指定一个 reviewer。作为技术 Leader 的你被选为本次 pull request
的 reviewer。
你完成代码审查之后就需要把这个功能分支合并到 Release(发布) 分支。
现在你已经把 feature/login
分支合并到 release/fb
,并且 Alice 非常高兴他的代码被合并了。
release/fb
分支发起了一个 pull request
。release/fb
上最新的代码合并到他自己的功能分支 feature/newsfeed
(通过 git pull 或 git merge 命令)。同时他解决了所有存在的冲突,现在 feature/newsfeed
已经有了所有发布分支 release/fb
的代码。pull request
,由于 John 已经解决了所有问题,所以本次 pull request
不会再有冲突了。因此通常有两种方式来解决代码冲突:
pull request
的 reviewer 需要解决所有的代码冲突。一旦项目完成,发布分支的代码需要合并回 master 分支,同时需要发布到生产环境。
因此生产环境中的代码总是和 master 分支保持一致。同时对于今后的任何项目来说都是要确保 master 代码是最新的。
我们现在团队就是按照这样的方式进行开发,确实可以尽可能的减少代码管理上的问题。
像之前那篇《如何成为一位「不那么差」的程序员》说的那样,建议大家都多看看国外的优质博客。
甚至尝试和作者交流,经过沟通原作者也会在原文中贴上我的翻译链接。大家互惠互利使好的文章转播的更广。
你的点赞与转发是最大的支持。
标签:news review lis 创建 任务 冲突 开发人员 viewer 昨天
原文地址:https://www.cnblogs.com/crossoverJie/p/9602180.html