大廠的第一堂課鞠苟,完整的git流程

前言

大廠有著數(shù)量龐大的代碼庫(kù)以及復(fù)雜的權(quán)限驗(yàn)證體系乞榨,囊括著開(kāi)發(fā)、測(cè)試当娱、上線的完整流程吃既。因此必然會(huì)有一套代碼倉(cāng)庫(kù)的管理流程,而不再是個(gè)人的代碼隨意開(kāi)發(fā)跨细、隨意提交鹦倚。這也是我從小廠出來(lái)學(xué)習(xí)到的第一堂課——完整的git提交流程。下面我們以一位頭條大佬的倉(cāng)庫(kù)為例冀惭,講解如何對(duì)線上倉(cāng)庫(kù)進(jìn)行開(kāi)發(fā)

fork倉(cāng)庫(kù)

Interview-Book 這是頭條大佬的倉(cāng)庫(kù)震叙,我們可以看到他的分支信息

git-1.png

我們可以看到有三個(gè)分支掀鹅。假定這是一個(gè)發(fā)布到生產(chǎn)環(huán)境的應(yīng)用,master一般用來(lái)存放線上分支媒楼,即這個(gè)倉(cāng)庫(kù)存放的是線上正在運(yùn)行的代碼乐尊,另外的倉(cāng)庫(kù)便是開(kāi)發(fā)分支,一般會(huì)把開(kāi)發(fā)分支設(shè)置為默認(rèn)倉(cāng)庫(kù)划址,避免誤提交代碼線上(線上一般會(huì)禁止提交)科吭,我們先f(wàn)ork一個(gè)到自己的倉(cāng)庫(kù)

本地開(kāi)發(fā)

git-2.png

接著我們就可以clone倉(cāng)庫(kù)到本地

git-3.png

拉取到本地后注意 VSC 右下角的分支,github默認(rèn)是master分支猴鲫,要手動(dòng)切換到開(kāi)發(fā)分支对人,并在remote中添加線上倉(cāng)庫(kù)

git remote add upstream https://github.com/Mountain-Buzhou/Interview-Book

遠(yuǎn)程倉(cāng)庫(kù)是頭條大佬的倉(cāng)庫(kù),并且一般自己的github倉(cāng)庫(kù)命名為origin 線上倉(cāng)庫(kù)命名為upstream拂共。這個(gè)時(shí)候我們就有了三個(gè)倉(cāng)庫(kù)牺弄,分別是:

  1. 線上倉(cāng)庫(kù)(發(fā)布項(xiàng)目的git倉(cāng)庫(kù),一般是擁有者是團(tuán)隊(duì)或TL)
  2. 自己倉(cāng)庫(kù)(自己fork線上倉(cāng)庫(kù)到自己的github)
  3. vscode本地倉(cāng)庫(kù)(git還在本地有一個(gè)倉(cāng)庫(kù))

到目前為止宜狐,我們還不能直接進(jìn)行開(kāi)發(fā)势告,而需要從這個(gè)dev倉(cāng)庫(kù)(在這里是version_alpha)切出一個(gè)分支

git checkout -b feat/add-artical

命名為feat:xxx, 即新添加的需求


git-4.png

我們切換了一個(gè)新的分支,在這個(gè)新的分支上添加一些修改


git-5.png

我把以前寫(xiě)的一篇二叉樹(shù)相關(guān)的文章添加到頭條大佬Book中抚恒,接著進(jìn)行commit, commit的內(nèi)容也應(yīng)該遵守規(guī)范咱台,一般來(lái)說(shuō)是

  1. fix:xx 表示修改了XX代碼
  2. feat:xx 新增了XX需求
  3. style:xx 修改了部分的樣式
  4. delete:xx 刪除了某些無(wú)用的部分

標(biāo)題最好能簡(jiǎn)短的描述出這個(gè)commit干了些什么,具體內(nèi)容可以在comment中詳細(xì)寫(xiě)

提交PR

git-6.png

feat感覺(jué)命名錯(cuò)了俭驮,因此改成了add:增加二叉樹(shù)相關(guān)內(nèi)容


git-7.png

在合并之前我們需要做codereview, 在我們小組所有進(jìn)行合并的代碼必須要進(jìn)行codereview并且每一個(gè)組員都可以參加回溺,codereview是讓自己進(jìn)行提升以及幫助別人糾錯(cuò)的一個(gè)重要途徑。通過(guò)看別人的代碼混萝,可以了解到不同的思維遗遵。點(diǎn)擊 Files changed查看這次更改的代碼

git-8.png

在代碼的行數(shù)處,鼠標(biāo)移到上面就會(huì)出現(xiàn)一個(gè) + 號(hào)逸嘀,點(diǎn)擊便可以出現(xiàn)一個(gè)浮動(dòng)的 comment 框车要,我們就可以針對(duì)這行代碼進(jìn)行提問(wèn)

合并PR

確認(rèn)無(wú)誤后,我們便可以等待頭條大佬合并PR到dev(這里是version_alpha)分支崭倘,頭條大佬合并以后我們就可以在本地倉(cāng)庫(kù) 切換到自己的 遠(yuǎn)程分支 origin/dev 拉取 upstream/dev到本地翼岁,然后再推送到 origin/dev 這樣就完成了一次完整的 PR

hotfix

有些時(shí)候產(chǎn)品會(huì)要求緊急上線一個(gè)需求,這個(gè)時(shí)候需要在線上的代碼更新司光,因此我們會(huì)從線上分支切一個(gè)分支到自己倉(cāng)庫(kù)琅坡,然后在這個(gè)分支上進(jìn)行修改,修改完以后會(huì)提兩個(gè)PR命名為:hotfix:xxx 到dev倉(cāng)庫(kù)和master倉(cāng)庫(kù)

完整的流程

git-9.png

性感面試官飘庄,在線內(nèi)推

今日頭條 likun.liyuk@bytedance.com

餓了么 mingjun.wu@ele.me

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末脑蠕,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌谴仙,老刑警劉巖登疗,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件持搜,死亡現(xiàn)場(chǎng)離奇詭異屎鳍,居然都是意外死亡也糊,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門掀虎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)凌盯,“玉大人,你說(shuō)我怎么就攤上這事烹玉〕墼酰” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵二打,是天一觀的道長(zhǎng)县忌。 經(jīng)常有香客問(wèn)我,道長(zhǎng)继效,這世上最難降的妖魔是什么症杏? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮瑞信,結(jié)果婚禮上厉颤,老公的妹妹穿的比我還像新娘。我一直安慰自己凡简,他們只是感情好逼友,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著潘鲫,像睡著了一般翁逞。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上溉仑,一...
    開(kāi)封第一講書(shū)人閱讀 48,970評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音状植,去河邊找鬼浊竟。 笑死,一個(gè)胖子當(dāng)著我的面吹牛津畸,可吹牛的內(nèi)容都是我干的振定。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼肉拓,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼后频!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤卑惜,失蹤者是張志新(化名)和其女友劉穎膏执,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體露久,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡更米,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了毫痕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片征峦。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖消请,靈堂內(nèi)的尸體忽然破棺而出栏笆,到底是詐尸還是另有隱情,我是刑警寧澤臊泰,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布蛉加,位于F島的核電站,受9級(jí)特大地震影響因宇,放射性物質(zhì)發(fā)生泄漏七婴。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一察滑、第九天 我趴在偏房一處隱蔽的房頂上張望打厘。 院中可真熱鬧,春花似錦贺辰、人聲如沸户盯。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)莽鸭。三九已至,卻和暖如春吃靠,著一層夾襖步出監(jiān)牢的瞬間硫眨,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工巢块, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留礁阁,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓族奢,卻偏偏與公主長(zhǎng)得像姥闭,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子越走,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

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

  • 1.git的安裝 1.1 在Windows上安裝Git msysgit是Windows版的Git棚品,從https:/...
    落魂灬閱讀 12,649評(píng)論 4 54
  • 三大區(qū)域: 工作區(qū) → 緩存區(qū) → 本地倉(cāng)庫(kù) 一 靠欢、 使用 git config 命令進(jìn)行配置: git ...
    Manchangdx閱讀 2,838評(píng)論 0 2
  • 1. 安裝 Github 查看是否安裝git: $ git config --global user.name "...
    Albert_Sun閱讀 13,631評(píng)論 9 163
  • 亂世休論德與道,滿紙皆是利與權(quán)铜跑。 在三國(guó)演義里面门怪,郭嘉早喪,賈詡除了抹書(shū)間韓遂之外幾乎隱身疼进,程昱最著名的計(jì)策是坑了...
    慕堯VIVIENNNE閱讀 682評(píng)論 2 3
  • 給茨木童子 深夜睡不著薪缆,剛好癢癢鼠在弄520告白。就讓我有點(diǎn)念舊伞广,想起來(lái)剛?cè)腙庩?yáng)師的日子拣帽。 嚴(yán)格來(lái)說(shuō)我是去年過(guò)...
    見(jiàn)春過(guò)處閱讀 246評(píng)論 0 1