原文连接git
medium.freecodecamp.org/how-to-use-…程序员
代码昨天仍是运行好好的今天就不行了。编码
代码被删了。翻译
忽然出现了一个奇怪的 bug,可是没人知道怎么回事。code
若是你出现过上面的任何一种状况,那本篇文章就是为你准备的。cdn
除了知道 git add
, git commit
, git push
以外,Git 中还须要其余重要的技术须要掌握。长远来看对咱们是有帮助的。这里我将向你展现 Git 的最佳实践。blog
当有多个开发者同时涉及到一个项目时那么就很是有必要正确使用 Git 工做流。ci
这里我将介绍一种工做流,它在一个多人大型项目中将很是有用。开发
忽然有一天,你成为了一个项目的技术 Leader 并计划作出下一个 Facebook。在这个项目中你有三个开发人员。get
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 代码是最新的。
咱们如今团队就是按照这样的方式进行开发,确实能够尽量的减小代码管理上的问题。
像以前那篇《如何成为一位「不那么差」的程序员》说的那样,建议你们都多看看国外的优质博客。
甚至尝试和做者交流,通过沟通原做者也会在原文中贴上个人翻译连接。你们互惠互利使好的文章转播的更广。