轉帖|行業資訊|編輯:王香|2017-02-28 11:14:15.000|閱讀 288 次
概述:git是當今流行的版本控制工具,一般我們可能只要會push, pull就可以了,但是當我們同別人共同工作的時候,我們必須要了解git協同開發的一些重要流程.
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
前言
git作為當今最流行的版本控制工具之一,當時開發出來就是為了管理Linux龐大源代碼的分布式版本控制工具。由于Linux源代碼過于巨大,僅靠一個人的力量是完成不了的,那就必須把工作分配下去,然后將代碼合并,所以git一開始設計的時候就是一種分布式的、多分支的。
概念
所以git最重要的就是分支這個性質,分支是什么呢。
要了解分支必須要了解git工作原理。
git工作原理很簡單就是add、commit,add、commit….,簡單來說就是添加記錄,添加記錄,保存快照,添加記錄,添加記錄,保存快照。
圖片來源網絡
如上圖,隨著master分支快照的一個一個建立,軟件就慢慢的迭代下去了。
分支工作流程
接下來我們要著重講一下分支,我們看到master分支的v0.1版本,我們已經開發出穩定的v0.1版,這時候我們決定開發一個新功能。
在這里我們分了一個Develop分支,我們在Develop分支開發新代碼。
這時候我們發現v0,1的一個bug,假如是沒有使用版本控制的話,一般人會停下手中的活,然后從當前的新代碼處來修復這個bug,當這個bug很簡單的時候,我們不會遇到很大困難,但是當bug藏的很深,而且新代碼隱藏了這個bug,或者被這個bug影響,這時修復工作就變得很困難。
還好我們有git,我們從v0.1直接分一個Hotfix分支,這兩個分支的父都是v0.1,我們直接從穩定版本修復,不牽涉到新代碼,這樣修改好后我們就能很快從Develop分支繼續工作了。
而且這樣有一個好處我們將master和Develop分支合并的時候很大可能不會產生沖突。
沖突(coflic)是什么了,怎么能避免呢?
從兩個分支的父親v0.1看起,我們每次改動一個保存文件就會產生一個modify(修改)的動作,我們假如分支里面都對同一個文件產生了modify(修改)動作,當我們合并的時候這就是一個沖突,git無法理解采用哪個分支的modify動作,這時候就要你人工來修改采用哪個分支。
假如沒有相同的文件有modify(修改)動作,git就會聰明的知道采用每個分支的最新的modify(修改)修改出一份所以文件的最新版。
那我們怎么來避免這個沖突呢,這就要求我們分支要分的合理,分支只要完成特定的工作,不要越俎代庖,那有些人會說我這個分支一定要改父的耦合地方否則我的代碼工作不了,這時我們要好好思考自己的分支的功能,把合并耦合的代碼放在主分支里面,次分支只要完成特定功能就可以了,這樣合并分支時候不但可以安全的merge(合并)了, 而且修改bug的時候也可以對癥下藥,直接在問題開始的地方修改。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn