|
我們使用 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),消息格式為:
根據(jù)情況,我會(huì)給你以下項(xiàng)目權(quán)限
認(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 分支:
在本地開發(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è):
所以,項(xiàng)目的 master 和 development 分支是受保護(hù)的:
提交代碼為了保證代碼不丟失,當(dāng)你覺得完成一小部分功能后一定要及時(shí)提交代碼。 提交代碼請按照下述流程操作:
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 做比較:
了解完 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)致無法合并,如下圖所示:
如看到這樣的提示,接下來你就需要解決沖突。 請謹(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。 請注意這里的描述:
具體操作流程見:
|
|
|