Android Studio git flow 本地工作流

從這篇開始技術(shù)博客之行吧岔留。

先前的項目的版本控制都用的是svn庵佣,各版本之間分界很不明顯,有可能1.0.0版本寫好了準(zhǔn)備發(fā)版婿斥,突然來了新需求劝篷,加了新代碼,而且這個新功能跟之前的代碼有比較嚴(yán)重的耦合民宿,上線前突然又說功能不要了娇妓,先要隱藏,當(dāng)時還是菜鳥活鹰,對版本控制的理解非常淺薄哈恰,所以只能從代碼里清理……過程不想再說,非常痛苦志群。

后來為了避免這種情況着绷,很笨拙的每個版本結(jié)項的時候,都會把整個項目的代碼打包放到svn……如果之前版本的代碼有bug锌云,就把之前那個包打開改荠医,然后覆蓋之前代碼,非常笨拙。

來到新公司接觸到了git彬向,學(xué)習(xí)了一下兼贡,現(xiàn)在覺得git flow這種工作流很科學(xué),現(xiàn)在簡述一下目前的基本操作娃胆,如果有初學(xué)者遍希,從大概念上理解這種工作流程會在使用起來更得心應(yīng)手。部分內(nèi)容參考或許是介紹Android Studio使用Git最詳細(xì)的文章 - 簡書里烦,在此感謝原作者凿蒜。

git flow

Git flow是廣泛采用的一種工作流程


他的主要特點有兩個:

1.首先,項目存在兩個長期分支

????- 主分支master

? ? - 開發(fā)分支dev

前者用于存放對外發(fā)布的版本胁黑,任何時候在這個分支拿到的篙程,都是穩(wěn)定的分布版;后者用于日常開發(fā)别厘,存放最新的開發(fā)版。

2.其次拥诡,項目存在三種短期分支

? ? - 功能分支(feature branch)

? ? - 補(bǔ)丁分支(hotfix branch)

? ? - 預(yù)發(fā)分支(release branch)


用到我個人項目里來說:

開發(fā)的初始版本就是主分支master触趴,可能就是AS默認(rèn)的項目,或者是從前面同事clone下來的項目代碼渴肉,這個就是最基礎(chǔ)的版本冗懦,可以作為1.0.0版本,然后最重要的東西來了仇祭,那就是記住一句話:

“master分支里的代碼永遠(yuǎn)都不是手寫進(jìn)去的披蕉,永遠(yuǎn)是其他分支merge進(jìn)來的”

merge這個功能,簡單說來就是你在廣場拼零件乌奇,拼好了最后全部懟到車間里没讲,而master分支就是那個車間,master分支的產(chǎn)出永遠(yuǎn)都是成品礁苗。

剩余的dev分支爬凑,就是自己開辟的廣場了,你可以在在上面拼你想要的東西

留個坑试伙,明天來填嘁信。

20190819填坑…………

經(jīng)過了學(xué)習(xí)和驗證,現(xiàn)在終于有資格來填坑了疏叨。

首先必須要明白一個git的基準(zhǔn)點潘靖,即,

“每個提交其實都是一個引用”

會有一個隨機(jī)分配的hash碼蚤蔓,對應(yīng)這次提交的代碼"改動”卦溢,也就是說每次的分支切換,只是記錄了引用之間的聯(lián)系和區(qū)別。比如從branch1 切換到branch2既绕,整個代碼完全沒有任何變化或者復(fù)制粘貼啄刹,還是原來的代碼,但是此時的HEAD節(jié)點凄贩,指向了一個新的引用誓军,來回切換的話也是切換HEAD節(jié)點。這樣的話怎樣解決文章開頭的難題呢疲扎?

簡單還原一下情景:

首先master上是有代碼的

? ? this is master 1.

? ??this is master 2.

????this is master 3.

這時我們從master new 一個branch 出來叫 develop

現(xiàn)在develop分支上的代碼跟master相同

現(xiàn)在繼續(xù)在develop上開發(fā)昵时,開發(fā)完畢后master沒變,develop分支變成了

????this is master 1.

????this is master 2.

????this is master 3.

????this is develop 1.

????this is develop?2.

開發(fā)到這里椒丧,master版本上線后出現(xiàn)了bug,現(xiàn)在需要修改壹甥,同時希望修改完以后,正在測試中的develop版本也能把這個bug修復(fù)掉壶熏,遇到這種情況句柠,如果在develop分支上改,然后merge進(jìn)master棒假,那develop版本的新功能會被merge進(jìn)去溯职,如果在master上改,就違反了mastere只能從別的分支merge進(jìn)來的規(guī)則帽哑。通過學(xué)習(xí)和驗證谜酒,現(xiàn)在終于有了一個比較簡單兩全的辦法:

切換到master分支,以master分支為基礎(chǔ)new 一個 bug_fix分支妻枕,在bug_fix分支上做出修改僻族,最終bug_fix分支的代碼如下:

????this is master 1.

????this is master 2.

????this is master 3.

????this is bug_fix 1.

????this is?bug_fix?2.

????this is?bug_fix 3.

修改完,進(jìn)行一次commit屡谐,使這次改動獨自占用一個分支和引用述么,然后分別切換到master和develop,把此bug_fix分支merge進(jìn)來愕掏,最終master與bug_fix一致碉输,develop可能會有沖突,經(jīng)過處理后亭珍,develop為

????this is master 1.

????this is master 2.

????this is master 3.

????this is develop 1.

????this is?develop?2.

????this is bug_fix 1.

????this is?bug_fix?2.

????this is?bug_fix 3.

此時把bug_fix分支刪掉即可敷钾。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市肄梨,隨后出現(xiàn)的幾起案子阻荒,更是在濱河造成了極大的恐慌,老刑警劉巖众羡,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件侨赡,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)羊壹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進(jìn)店門蓖宦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人油猫,你說我怎么就攤上這事稠茂。” “怎么了情妖?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵睬关,是天一觀的道長。 經(jīng)常有香客問我毡证,道長电爹,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任料睛,我火速辦了婚禮丐箩,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘恤煞。我一直安慰自己屎勘,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布阱州。 她就那樣靜靜地躺著,像睡著了一般法梯。 火紅的嫁衣襯著肌膚如雪苔货。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天立哑,我揣著相機(jī)與錄音夜惭,去河邊找鬼。 笑死铛绰,一個胖子當(dāng)著我的面吹牛诈茧,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播捂掰,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼敢会,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了这嚣?” 一聲冷哼從身側(cè)響起鸥昏,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎姐帚,沒想到半個月后吏垮,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年膳汪,在試婚紗的時候發(fā)現(xiàn)自己被綠了唯蝶。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡遗嗽,死狀恐怖粘我,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情媳谁,我是刑警寧澤涂滴,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站晴音,受9級特大地震影響柔纵,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜锤躁,卻給世界環(huán)境...
    茶點故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一搁料、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧系羞,春花似錦郭计、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至澎迎,卻和暖如春庐杨,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背夹供。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工灵份, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人哮洽。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓填渠,卻偏偏與公主長得像,于是被迫代替她去往敵國和親鸟辅。 傳聞我的和親對象是個殘疾皇子氛什,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,086評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 開篇 Git 三大特色,分支匪凉,暫存區(qū)屉更,工作流,今天終于要寫到 WorkFlow 了洒缀,我彷佛已經(jīng)看到勝利的曙光瑰谜,走起...
    段淺淺兒閱讀 2,366評論 0 4
  • 前期工作 對Git基本命令有個初步的了解欺冀,本篇博客不對基本命令一一解釋,推薦學(xué)習(xí)廖雪峰的Git教程萨脑。 配置SSH ...
    Vane_Subin閱讀 330評論 0 1
  • 前言 git作為現(xiàn)在最為流行的版本管理工具隐轩,許多公司都采用git來進(jìn)行項目版本管理, 世界上最大的代碼托管平臺gi...
    前端從進(jìn)階到入院閱讀 666評論 0 0
  • 多種多樣的工作流使得在項目中實施Git時變得難以選擇渤早。這份教程提供了一個出發(fā)點职车,調(diào)查企業(yè)團(tuán)隊最常見的Git工作流。...
    JSErik閱讀 4,409評論 2 8
  • 中心化的工作流 優(yōu)勢 首先它讓每個開發(fā)者都有自己的本地的完整項目副本鹊杖。隔離的環(huán)境使得每個開發(fā)都的工作獨立于項目的其...
    zucchiniy閱讀 188評論 0 0