“史上最全”git工作流之——fork

前言:在我們?nèi)粘m?xiàng)目開發(fā)過程中,往往leader會(huì)根據(jù)功能模塊不同,來進(jìn)行“任務(wù)劃分”。每個(gè)人開發(fā)過程中會(huì)與其他人有依賴關(guān)系,也就是協(xié)同開發(fā)。
下面我將模擬一個(gè)項(xiàng)目需求,來實(shí)例化一下開發(fā)流程
我們使用github作為倉(cāng)庫(kù)

一、項(xiàng)目需求

那就以最常用的注冊(cè)、登錄、找回密碼為例。小紅負(fù)責(zé)注冊(cè)模塊、小綠負(fù)責(zé)登錄模塊、小藍(lán)負(fù)責(zé)找回密碼模塊。

二、工作流描述

我們已有一個(gè)中心倉(cāng)庫(kù)(master),小紅小綠小藍(lán)三人分別fork一份到自己“遠(yuǎn)程倉(cāng)庫(kù)”。然后分別clone(克?。┑奖镜?,在自己pc中和自己遠(yuǎn)程倉(cāng)庫(kù)中進(jìn)行開發(fā)和提交操作。


此例子Master地址:https://github.com/datura-lj/git-fork-demo

下面為Master原有的代碼:
# git-fork-demo
描述:這是一個(gè)測(cè)試git fork工作流程的demo。
      有小紅、小綠、小藍(lán)三人共同開發(fā)
===============================================================
這里是系統(tǒng)上原有的代碼
===============================================================
1. 小綠進(jìn)行自己開發(fā)

首先,將中心倉(cāng)庫(kù)Master的代碼,fork到小綠自己的遠(yuǎn)程倉(cāng)庫(kù)中。在瀏覽器地址欄輸入地址:



至此fork完成,在上圖可看出,此代碼已經(jīng)在小綠的遠(yuǎn)程倉(cāng)庫(kù)中(包括分支和提交記錄等等)。

其次,我們將遠(yuǎn)程代碼clone到本地,然后做一些修改,Push回遠(yuǎn)程倉(cāng)庫(kù)。

$ git clone git@github.com:Datura900607/git-fork-demo.git
$ git status
$ git add --all
$ git commit -m "開發(fā)了一個(gè)功能"
$ git push origin master

然后,更改代碼,并成功提交到小綠遠(yuǎn)程倉(cāng)庫(kù),小綠就可以發(fā)送一個(gè)合并到Master上的請(qǐng)求。(Pull request或merge request),然后管理員同意即可。

三、依賴他人代碼

場(chǎng)景一:小紅直接拉去Mater的代碼

創(chuàng)建一個(gè)上游遠(yuǎn)程倉(cāng)庫(kù),將Master代碼拉取到小紅的本地。

$ git remote add upstream  https://github.com/datura-lj/git-fork-demo.git
$ git pull upstream master
場(chǎng)景二:小紅和小綠有依賴。但是小綠代碼還沒Pull request到Master。
方法一:

直接從小綠遠(yuǎn)程倉(cāng)庫(kù)拉取代碼。

$ git pull  https://github.com/xiaolv/datura-lj/git-fork-demo.git master
方法二:

給小紅添加小綠的遠(yuǎn)程倉(cāng)庫(kù)

$ git remote add xiaolv  https://github.com/xiaolv/datura-lj/git-fork-demo.git 
$ pull xiaolv master

其他

1.理解ssh和https方式

描述:在我們將遠(yuǎn)程倉(cāng)庫(kù)clone到本地時(shí),可選擇兩種方式。其一是ssh(通過設(shè)置ssh),其二https(通過賬號(hào)密碼方式,此處注意本例是github的賬號(hào)和密碼)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 多種多樣的工作流使得在項(xiàng)目中實(shí)施Git時(shí)變得難以選擇。這份教程提供了一個(gè)出發(fā)點(diǎn),調(diào)查企業(yè)團(tuán)隊(duì)最常見的Git工作流。...
    JSErik閱讀 4,614評(píng)論 2 8
  • 如果你覺得這篇文章對(duì)你有幫助可隨意轉(zhuǎn)載,但請(qǐng)注明出處和作者。 我們?cè)谧鰣?bào)告,PPT,或者完成一些設(shè)計(jì)的時(shí)候總會(huì)插入...
    liliboy閱讀 741評(píng)論 0 1
  • 心理上的癌比身體上 癌更可怕! 當(dāng)年魯迅在仙臺(tái)選擇學(xué)醫(yī),意在救治像他父親那樣被庸醫(yī)所害的病人,改善被譏為“東亞病夫...
    一枚冰兒閱讀 724評(píng)論 1 0
  • 趁篝火未熄, 趁夜色未消, 讓我們?cè)勹T會(huì)兒劍吧。 那爐火掩映的爐膛, 是未熄的火苗的舞場(chǎng)。
    黃佳寧閱讀 499評(píng)論 0 0
  • 一段感情可以持續(xù)多久? 愛情,一天??jī)商欤恳粋€(gè)月??jī)蓚€(gè)月?不知道,不確定,在我的記憶力并不長(zhǎng)久。 親情,我承認(rèn)那是...
    墨魚z閱讀 273評(píng)論 1 1

友情鏈接更多精彩內(nèi)容