小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

使用 Git 協(xié)作開發(fā)項(xiàng)目指南 | 技術(shù)學(xué)習(xí)小組

 飲茶仙人 2016-09-13

我們使用 Git 管理項(xiàng)目代碼,如果你被邀請參與項(xiàng)目開發(fā),請務(wù)必仔細(xì)閱讀文章。

請根據(jù)自己參與項(xiàng)目查閱對應(yīng)的 Git 文章,按文章一步步操作,了解使用規(guī)范和流程。

如果按照文中步驟操作出現(xiàn)問題,請直接聯(lián)系 Tinker。

我會(huì)根據(jù)你的問題,繼續(xù)補(bǔ)充完善文章,謝謝 :)。

注冊賬號(hào)

如果你準(zhǔn)備參閱項(xiàng)目開發(fā),可閱讀此步。參照 項(xiàng)目開發(fā)流程 說明的發(fā)布相應(yīng)消息。

首先,你需要注冊奇跡空間(北京)科技有限公司 GitLab 賬號(hào),具體操作流程見:

注冊完成后,告知 Tinker 你的 Gitlab 賬號(hào),消息格式為:

  • 奇跡 Gitlab 賬號(hào):XXXXXXX,要做服務(wù)器開發(fā) / Android 開發(fā)/ iOS 開發(fā)。

根據(jù)情況,我會(huì)給你以下項(xiàng)目權(quán)限

  • Demo Git 庫
  • 將要參與的項(xiàng)目 Git 庫

認(rèn)真并仔細(xì)閱讀 Git 教程,操作一遍所有的 Git 命令/操作,就能明白 Git 協(xié)作開發(fā)項(xiàng)目流程了。

安裝 Git

請參考文章:安裝 Git – 廖雪峰

將 Git 項(xiàng)目代碼下載到本地

寫項(xiàng)目的第一步是要把代碼下載到本地并運(yùn)行起來,操作流程見:

每個(gè) Git 項(xiàng)目的根目錄都會(huì)有一個(gè) readme.md 文件,參照 readme.md 的內(nèi)容,把項(xiàng)目運(yùn)行起來。

我不滿意 Android 的文章,感興趣的朋友可以聯(lián)系我,然后你來完善。

查看分支

Git 最重要的一個(gè)概念是分支,新手一定要了解分支。

從我學(xué)習(xí) Git 的經(jīng)歷來看,看概念不如實(shí)際操作學(xué)的快、學(xué)的深。根據(jù)我文章描述的步驟一步步執(zhí)行,應(yīng)該可以明白什么是分支、怎么操作分支等內(nèi)容。

如還不懂,就多 Google 看看別人寫的文章吧??吹胶玫臇|西可以聯(lián)系我補(bǔ)充完善咱們的 Git 文章。

按照上一步操作,我們已經(jīng)把 Git 項(xiàng)目下載到本地,這時(shí)本地項(xiàng)目分支應(yīng)該是 master 分支,查看自己所在分支操作流程見:

切換分支

在查看分支這一步,你應(yīng)該了解到項(xiàng)目有 master、development 分支:

  1. master: 該分支主要是用于 Production 環(huán)境(服務(wù)器項(xiàng)目)或打正式包(Android 或 iOS 項(xiàng)目);
  2. development: 該分支主要用于 Development 環(huán)境(服務(wù)器項(xiàng)目)或打測試包(Android 或 iOS 項(xiàng)目)。

在本地開發(fā)項(xiàng)目,請一定要切換到 development 或 feature(下文中會(huì)描述什么是 feature 分支) 分支操作,切換分支的操作流程見:

新建功能分支

我們開發(fā)新功能,都是在 development 分支上衍生一條新的分支,即功能分支,也就是下文所說的 feature 分支。

所謂的 A 分支衍生 B 分支、基于 A 分支創(chuàng)建 B 分支,其實(shí)就是把 A 分支的代碼完全復(fù)制一份,并將其命名為 B。

具體操作流程見:基于 Development 分支創(chuàng)建 Feature 分支

為什么要新建功能分支,而不是在 master 或 development 分支上直接提交代碼呢?

主要目的有兩個(gè):

  1. 保證代碼質(zhì)量:feature 分支的代碼要想進(jìn)入 development 分支必須要提交 Merge Pull Request,只有通過審核的代碼才能進(jìn)入 development 分支,這樣能提高項(xiàng)目代碼質(zhì)量。
  2. 保證線上環(huán)境穩(wěn)定:進(jìn)入 development 分支的代碼,測試服務(wù)器首先會(huì)執(zhí)行自動(dòng)化測試,當(dāng)自動(dòng)化測試通過后再進(jìn)行人功能測試,人工測試通過后,development 的代碼才會(huì)合并到 master 分支,這樣能大大減少線上環(huán)境的 BUG 數(shù)。

所以,項(xiàng)目的 master 和 development 分支是受保護(hù)的:

  1. 只有 Owner、Master(此 Master 非分支名稱,是 Gitlab Member 的一個(gè)權(quán)限組名稱)才可 commit + push 代碼;
  2. Developer 只能基于 development 分支新建 feature 分支,然后在 feature 分支 commit + push 代碼。

提交代碼

為了保證代碼不丟失,當(dāng)你覺得完成一小部分功能后一定要及時(shí)提交代碼。

提交代碼請按照下述流程操作:

  1. show diff
    • show diff 這個(gè)操作是為了讓你仔細(xì)檢查代碼。在六年開發(fā)經(jīng)驗(yàn)中,有太多人因?yàn)榇中淖⑨尩糁匾拇a,同時(shí) reviewer 也粗心沒注意到,從而導(dǎo)致了線上環(huán)境崩潰無法運(yùn)轉(zhuǎn)。
    • 在實(shí)際工作中,一旦從先這種錯(cuò)誤,將對你產(chǎn)生極壞的影響,升職加薪必將與你無緣。嚴(yán)重的還會(huì)降薪,甚至辭退。
  2. commit
    • commit 操作是將變動(dòng)提交到本地的 Git 庫;
  3. push
    • push 操作是將本地未提交到遠(yuǎn)程 Git 代碼庫的 commit 提交到遠(yuǎn)程 Git 代碼庫里;

2、3步驟通過 IDE 是可以同時(shí)進(jìn)行的,具體操作步驟見下述文章

具體操作流程見:

PHP + iOS 的文章還未寫,感興趣的朋友可以聯(lián)系我,然后你來撰寫文章。

feature 分支合并 development 分支

下文中提到的合并即 merge,A merge B 就是把 B 中『A 沒有的代碼』復(fù)制到 A,如果同一個(gè)代碼文件不一樣,Git 是會(huì)提示沖突,這時(shí)候你需要細(xì)心的解決沖突。

簡單來說 A 跟 B 做比較:

  • A 比 B 少的代碼會(huì)復(fù)制到 A 中;
  • 不一樣的代碼會(huì)提示沖突,A 跟 B 的代碼都會(huì)存在同一個(gè)文件中。

了解完 merge 后,我們需要明白為什么 feature 分支需要 merge development 分支的代碼。

一般一個(gè)項(xiàng)目是多人參與開發(fā)的,因?yàn)楣δ芗伴_發(fā)時(shí)間點(diǎn)不一致,feature 分支合并到 development 的時(shí)間也不同,也就導(dǎo)致了眾多的 feature 代碼落后于最新的 development 代碼。

比如說你新建 feature A 分支是基于 1 月 1 號(hào)的 development 分支代碼,而 development 分支在 1 月 2 號(hào) merge 一個(gè) feature B 分支,這時(shí)候你的 feature A 是缺少 development 新 merge 的代碼。

如果你沒有將 development 分支新的代碼 merge 到自己的 feature A 分支上,如果兩個(gè)分支的代碼存在沖突,Pull Request 頁面會(huì)提示有沖突導(dǎo)致無法合并,如下圖所示:

Pull Request 沖突

如看到這樣的提示,接下來你就需要解決沖突。

請謹(jǐn)記,這個(gè) merge 操作非常重要!

如不及時(shí) merge,development 分支代碼增多,development 分支與你的 feature 分支不同的代碼會(huì)越來越多,也就是讓沖突越來越多,等最后合并時(shí),你會(huì)發(fā)現(xiàn)解決沖突的時(shí)間遠(yuǎn)超于你開發(fā)時(shí)間了。

所以,如果看到了 development 分支代碼有更新,一定要及時(shí)將最新的 development 代碼 merge 到自己的 feature 上。

該步驟的具體操作流程見:

提交 Pull Requet

當(dāng)你確保自己的代碼已經(jīng)合并了 development 分支最新代碼后并且沒有沖突,你需要提交 feature 分支合并到 development 分支的 Pull Requst。

請注意這里的描述:

  • feature 分支合并 development 分支:是將 development 分支代碼復(fù)制到 feature 分支;
  • feature 分支合并到 development 分支:是將 feature 代碼復(fù)制到 development 分支。

具體操作流程見:

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請遵守用戶 評(píng)論公約

    類似文章 更多