原文連接git
https://medium.freecodecamp.o...程序員
代碼昨天仍是運行好好的今天就不行了。代碼被刪了。編碼
忽然出現了一個奇怪的 bug,可是沒人知道怎麼回事。spa
若是你出現過上面的任何一種狀況,那本篇文章就是爲你準備的。翻譯
除了知道 git add
, git commit
, git push
以外,Git 中還須要其餘重要的技術須要掌握。長遠來看對咱們是有幫助的。這裏我將向你展現 Git 的最佳實踐。code
當有多個開發者同時涉及到一個項目時那麼就很是有必要正確使用 Git 工做流。blog
這裏我將介紹一種工做流,它在一個多人大型項目中將很是有用。ci
忽然有一天,你成爲了一個項目的技術 Leader 並計劃作出下一個 Facebook。在這個項目中你有三個開發人員。開發
release/
開頭的普通分支。release/fb
。release/messenger
。feature/
開頭。feature/login
。Alice 將會在這個分支上編寫全部的登陸代碼。feature/friendrequest
的功能分支。feature/newsfeed
的功能分支。feature/login
發送給 Release(發佈) 分支。這個過程是經過發起一個 pull request
完成的。首先 pull request
不能和 git pull
搞混了。get
開發人員不能直接向 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 代碼是最新的。
咱們如今團隊就是按照這樣的方式進行開發,確實能夠儘量的減小代碼管理上的問題。
像以前那篇《如何成爲一位「不那麼差」的程序員》說的那樣,建議你們都多看看國外的優質博客。
甚至嘗試和做者交流,通過溝通原做者也會在原文中貼上個人翻譯連接。你們互惠互利使好的文章轉播的更廣。