日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

git版本管理

發(fā)布時間:2024/4/13 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 git版本管理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
  • git簡介
  • 1.1 產(chǎn)生歷史

    git是目前世界上最先進(jìn)的分布式版本控制系統(tǒng)。

    Linus1991年創(chuàng)建了開源的Linux,從此,Linux系統(tǒng)不斷發(fā)展,已經(jīng)成為最大的服務(wù)器系統(tǒng)軟件了。Linus雖然創(chuàng)建了Linux,但Linux的壯大是靠全世界熱心的志愿者參與的,這么多人在世界各地為Linux編寫代碼,那Linux的代碼是如何管理的呢?事實是,2002年以前,世界各地的志愿者把源代碼文件通過diff的方式發(fā)給Linus,然后由Linus本人通過手工方式合并代碼!你也許會想,為什么Linus不把Linux代碼放到版本控制系統(tǒng)里呢?不是有CVS、SVN這些免費(fèi)的版本控制系統(tǒng)嗎?因為Linus堅定地反對CVS和SVN,這些集中式的版本控制系統(tǒng)不但速度慢,而且必須聯(lián)網(wǎng)才能使用。有一些商用的版本控制系統(tǒng),雖然比CVS、SVN好用,但那是付費(fèi)的,和Linux的開源精神不符。不過,到了2002年,Linux系統(tǒng)已經(jīng)發(fā)展了十年了,代碼庫之大讓Linus很難繼續(xù)通過手工方式管理了,社區(qū)的弟兄們也對這種方式表達(dá)了強(qiáng)烈不滿,于是Linus選擇了一個商業(yè)的版本控制系統(tǒng)BitKeeperBitKeeper的東家BitMover公司出于人道主義精神,授權(quán)Linux社區(qū)免費(fèi)使用這個版本控制系統(tǒng)。安定團(tuán)結(jié)的大好局面在2005年就被打破了,原因是Linux社區(qū)牛人聚集,不免沾染了一些梁山好漢的江湖習(xí)氣。開發(fā)SambaAndrew試圖破解BitKeeper的協(xié)議(這么干的其實也不只他一個),被BitMover公司發(fā)現(xiàn)了(監(jiān)控工作做得不錯!),于是BitMover公司怒了,要收回Linux社區(qū)的免費(fèi)使用權(quán)。Linus可以向BitMover公司道個歉,保證以后嚴(yán)格管教弟兄們,嗯,這是不可能的。實際情況是這樣的:Linus花了兩周時間自己用C寫了一個分布式版本控制系統(tǒng),這就是Git!一個月之內(nèi),Linux系統(tǒng)的源碼已經(jīng)由Git管理了!牛是怎么定義的呢?大家可以體會一下。Git迅速成為最流行的分布式版本控制系統(tǒng),尤其是2008年,GitHub網(wǎng)站上線了,它為開源項目免費(fèi)提供Git存儲,無數(shù)開源項目開始遷移至GitHub,包括jQuery,PHP,Ruby等等。歷史就是這么偶然,如果不是當(dāng)年BitMover公司威脅Linux社區(qū),可能現(xiàn)在我們就沒有免費(fèi)而超級好用的Git了。

    1.2 git的兩大特點

  • 版本控制:可以解決多人同時開發(fā)的代碼問題,也可以解決找回歷史代碼的問題。
  • 分布式:Git是分布式版本控制系統(tǒng),同一個Git倉庫,可以分布到不同的機(jī)器上。首先找一臺電腦充當(dāng)服務(wù)器的角色,每天24小時開機(jī),其他每個人都從這個“服務(wù)器”倉庫克隆一份到自己的電腦上,并且各自把各自的提交推送到服務(wù)器倉庫里,也從服務(wù)器倉庫中拉取別人的提交。可以自己搭建這臺服務(wù)器,也可以使用GitHub網(wǎng)站。
  • 安裝與配置
  • 安裝命令如下:
  • ??????? sudo apt-get install git

    ?

  • 安裝成功后,運(yùn)行如下命令:
  • ??????? git ?
  • 創(chuàng)建一個版本庫
  • 新建一個目錄git_test,在git_test目錄下創(chuàng)建一個版本庫,命令如下:
  • ??????? git init

    ?

    可以看到在git_test目錄下創(chuàng)建了一個.git隱藏目錄,這就是版本庫目錄。

  • 版本創(chuàng)建與回退
  • 使用
  • 在git_test目錄下創(chuàng)建一個文件code.txt,編輯內(nèi)容如下:
  • ?

  • 使用如下兩條命令可以創(chuàng)建一個版本:
  • ??????? git add code.txt ??????? git commit –m '版本1'

    ?

  • 使用如下命令可以查看版本記錄:
  • ??????? git log

    ?

  • 繼續(xù)編輯code.txt,在里面增加一行。
  • ?

  • 使用如下命令再創(chuàng)建一個版本并查看版本記錄:
  • ?

  • 現(xiàn)在若想回到某一個版本,可以使用如下命令:
  • ??????? git reset --hard HEAD^

    其中HEAD表示當(dāng)前最新版本,HEAD^表示當(dāng)前版本的前一個版本,HEAD^^表示當(dāng)前版本的前前個版本,也可以使用HEAD~1表示當(dāng)前版本的前一個版本,HEAD~100表示當(dāng)前版本的前100版本。

    現(xiàn)在若覺得想回到版本1,可以使用如下命令:

    ?

    執(zhí)行命令后使用git log查看版本記錄,發(fā)現(xiàn)現(xiàn)在只能看到版本1的記錄,cat code.txt查看文件內(nèi)容,現(xiàn)在只有一行,也就是第一個版本中code.txt的內(nèi)容。

  • 假如我們現(xiàn)在又想回到版本2,這個時候怎么辦?
  • 可以使用如下命令:

    ??????? git reset --hard 版本號

    從上面可以看到版本2的版本號為:

    ?

  • 在終端執(zhí)行如下命令:
  • ?

    現(xiàn)在發(fā)現(xiàn)版本2有回來了。可以cat code.txt查看其里面的內(nèi)容如下:

    ?

  • 假如說上面的終端已經(jīng)關(guān)了改怎么回退版本。
  • 我們在執(zhí)行如下命令將版本回退到版本1。

    ?

    下面把終端關(guān)了,然后再打開終端,發(fā)現(xiàn)之前版本2的版本號看不到了。

    那么怎么再回到版本2呢?git reflog命令可以查看我們的操作記錄。

    ??????? git reflog

    ?

    可以看到版本2的版本號,我們再使用如下命令進(jìn)行版本回退,版本重新回到了版本2。

    ?

    4.2 工作區(qū)和暫存區(qū)

    4.2.1 工作區(qū)(Working Directory)

    電腦中的目錄,比如我們的git_test,就是一個工作區(qū)。

    4.2.2 版本庫(Repository)

    工作區(qū)有一個隱藏目錄.git,這個不是工作區(qū),而是git的版本庫。

    git的版本庫里存了很多東西,其中最重要的就是稱為stage(或者叫index)的暫存區(qū),還有g(shù)it為我們自動創(chuàng)建的第一個分支master,以及指向master的一個指針叫HEAD。

    因為我們創(chuàng)建git版本庫時,git自動為我們創(chuàng)建了唯一一個master分支,所以,現(xiàn)在,git commit就是往master分支上提交更改。

    你可以簡單理解為,需要提交的文件修改通通放到暫存區(qū),然后,一次性提交暫存區(qū)的所有修改。

    ?

    前面講了我們把文件往git版本庫里添加的時候,是分兩步執(zhí)行的:

    第一步是用git add把文件添加進(jìn)去,實際上就是把文件修改添加到暫存區(qū);

    第二步是用git commit提交更改,實際上就是把暫存區(qū)的所有內(nèi)容提交到當(dāng)前分支。

  • 下面在git_test目錄下再創(chuàng)建一個文件code2.txt,然后編輯內(nèi)容如下:
  • ?

  • 然后再次編輯code.txt內(nèi)容,在其中加入一行,編輯后內(nèi)容如下:
  • ?

  • 使用如下命令查看當(dāng)前工作樹的狀態(tài):
  • git status

    ?

    上面提示我們code.txt被修改,而code2.txt沒有被跟蹤。

  • 我們使用如下命令把code.txt和code2.txt加入到暫存區(qū),然后再執(zhí)行g(shù)it status命令,結(jié)果如下:
  • ?

    所有g(shù)it add命令是把所有提交的修改存放到暫存區(qū)。

  • 然后,執(zhí)行g(shù)it commit就可以一次性把暫存區(qū)的所有修改提交到分支創(chuàng)建一個版本。
  • ?

  • 一旦提交后,如果你又沒有對工作區(qū)做任何修改,那么工作區(qū)就是“干凈”的。執(zhí)行如下命令可以發(fā)現(xiàn):
  • ?

    現(xiàn)在我們的版本庫變成了這樣:

    ?

    4.3 管理修改

    git管理的文件的修改,它只會提交暫存區(qū)的修改來創(chuàng)建版本

  • 編輯code.txt,并使用git add 命令將其添加到暫存區(qū)中。
  • ?

  • 繼續(xù)編輯code.txt,并在其中添加一行。
  • ?

  • git commit創(chuàng)建一個版本,并使用git status查看,發(fā)現(xiàn)第二次修改code.txt內(nèi)容之后,并沒有將其添加的工作區(qū),所以創(chuàng)建版本的時候并沒有被提交。
  • ?

    4.4 撤銷修改

    (1) 繼續(xù)上面的操作,提示我們可以使用 git checkout -- <文件> 來丟棄工作區(qū)的改動。執(zhí)行如下命令,發(fā)現(xiàn)工作區(qū)干凈了,第二次的改動內(nèi)容也沒了。

    ?

  • 我們繼續(xù)編輯code.txt,并在其中添加如下內(nèi)容,并將其添加的暫存區(qū)。
  • ?

    (3)git同樣告訴我們,用命令git reset HEAD file可以把暫存區(qū)的修改撤銷掉,重新放回工作區(qū)。

    ?

    (4)現(xiàn)在若想丟棄code.txt的修改,執(zhí)行如下命令即可。

    ?

    現(xiàn)在,如果你不但改錯了東西,還從暫存區(qū)提交到了版本庫,則需要進(jìn)行版本回退。

    結(jié):

    場景1:當(dāng)你改亂了工作區(qū)某個文件的內(nèi)容,想直接丟棄工作區(qū)的修改時,用命令git checkout -- file

    場景2:當(dāng)你不但改亂了工作區(qū)某個文件的內(nèi)容,還添加到了暫存區(qū)時,想丟棄修改,分兩步,第一步用命令git reset HEAD file,就回到了場景1,第二步按場景1操作。

    場景3:已經(jīng)提交了不合適的修改到版本庫時,想要撤銷本次提交,參考版本回退一節(jié)

    4.5 對比文件的不同

    對比工作區(qū)和某個版本中文件的不同:

  • 繼續(xù)編輯文件code.txt,在其中添加一行內(nèi)容。
  • ?

  • 現(xiàn)在要對比工作區(qū)中code.txt和HEAD版本中code.txt的不同。使用如下命令:
  • ?

  • 使用如下命令丟棄工作區(qū)的改動。
  • ?

    對比兩個版本間文件的不同:

  • 現(xiàn)在要對比HEAD和HEAD^版本中code.txt的不同,使用如下命令:
  • ?

    4.6 刪除文件

    (1) 我們把目錄中的code2.txt刪除。

    ?

    這個時候,git知道刪除了文件,因此,工作區(qū)和版本庫就不一致了,git status命令會立刻提示哪些文件被刪除了。

    ?

  • 現(xiàn)在你有兩個選擇,一是確實要從版本庫中刪除該文件,那就用命令git rm刪掉,并且git commit:
  • ?

    另一種情況是刪錯了,可以直接使用git checkout – code2.txt,這樣文件code2.txt又回來了。

    小結(jié):

    命令git rm用于刪除一個文件。如果一個文件已經(jīng)被提交到版本庫,那么你永遠(yuǎn)不用擔(dān)心誤刪,但是要小心,你只能恢復(fù)文件到最新版本,你會丟失最近一次提交后你修改的內(nèi)容

  • 分支管理
  • 5.1 概念

    分支就是科幻電影里面的平行宇宙,當(dāng)你正在電腦前努力學(xué)習(xí)Git的時候,另一個你正在另一個平行宇宙里努力學(xué)習(xí)SVN。

    如果兩個平行宇宙互不干擾,那對現(xiàn)在的你也沒啥影響。不過,在某個時間點,兩個平行宇宙合并了,結(jié)果,你既學(xué)會了git又學(xué)會了SVN!

    ?

    分支在實際中有什么用呢?假設(shè)你準(zhǔn)備開發(fā)一個新功能,但是需要兩周才能完成,第一周你寫了50%的代碼,如果立刻提交,由于代碼還沒寫完,不完整的代碼庫會導(dǎo)致別人不能干活了。如果等代碼全部寫完再一次提交,又存在丟失每天進(jìn)度的巨大風(fēng)險。

    現(xiàn)在有了分支,就不用怕了。你創(chuàng)建了一個屬于你自己的分支,別人看不到,還繼續(xù)在原來的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到開發(fā)完畢后,再一次性合并到原來的分支上,這樣,既安全,又不影響別人工作。

    5.2 創(chuàng)建與合并分支

    git把我們之前每次提交的版本串成一條時間線,這條時間線就是一個分支。截止到目前只有一條時間線,在git里,這個分支叫主分支,即master分支。HEAD嚴(yán)格來說不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是當(dāng)前分支。

    (1) 一開始的時候,master分支是一條線,git用master指向最新的提交,再用HEAD指向master,就能確定當(dāng)前分支,以及當(dāng)前分支的提交點:

    ?

    每次提交,master分支都會向前移動一步,這樣,隨著你不斷提交,master分支的線也越來越長。

    (2)當(dāng)我們創(chuàng)建新的分支,例如dev時,git新建了一個指針叫dev,指向master相同的提交,再把HEAD指向dev,就表示當(dāng)前分支在dev上:

    ?

    git創(chuàng)建一個分支很快,因為除了增加一個dev指針,改變HEAD的指向,工作區(qū)的文件都沒有任何變化。

    (3)不過,從現(xiàn)在開始,對工作區(qū)的修改和提交就是針對dev分支了,比如新提交一次后,dev指針往前移動一步,而master指針不變:

    ?

    (4)假如我們在dev上的工作完成了,就可以把dev合并到master上。git怎么合并呢?最簡單的方法,就是直接把master指向dev的當(dāng)前提交,就完成了合并:

    ?

    git合并分支也很快,就改改指針,工作區(qū)內(nèi)容也不變。

    (5)合并完分支后,甚至可以刪除dev分支。刪除dev分支就是把dev指針給刪掉,刪掉后,我們就剩下了一條master分支:

    ?

    案例:

    (1)執(zhí)行如下命令可以查看當(dāng)前有幾個分支并且看到在哪個分支下工作。

    ?

    (2)下面創(chuàng)建一個分支dev并切換到其上進(jìn)行工作。

    ?

    ?

    (3)下面我們修改code.txt內(nèi)容,在里面添加一行,并進(jìn)行提交。

    ?

    ?

    (4)dev分支的工作完成,我們就可以切換回master分支:

    ?

    ?

    查看code.txt,發(fā)現(xiàn)添加的內(nèi)容沒有了。因為那個提交是在dev分支上,而master分支此刻的提交點并沒有變:

    (5)現(xiàn)在,我們把dev分支的工作成果合并到master分支上:

    ?

    git merge命令用于合并指定分支到當(dāng)前分支。合并后,再查看code.txt的內(nèi)容,就可以看到,和dev分支的最新提交是完全一樣的。

    ?

    注意到上面的Fast-forward信息,Git告訴我們,這次合并是“快進(jìn)模式”,也就是直接把master指向dev的當(dāng)前提交,所以合并速度非常快。

    ?

    (6)合并完成后,就可以放心地刪除dev分支了,刪除后,查看branch,就只剩下master分支了。

    ?

    ?

    小結(jié):

    查看分支:git branch

    創(chuàng)建分支:git branch <name>

    切換分支:git checkout <name>

    創(chuàng)建+切換分支:git checkout -b <name>

    合并某分支到當(dāng)前分支:git merge <name>

    刪除分支:git branch -d <name>

    5.3 解決沖突

    合并分支往往也不是一帆風(fēng)順的。

    (1)再創(chuàng)建一個新分支dev。

    ?

    (2)修改code.txt內(nèi)容,并進(jìn)行提交。

    ?

    (3)切換回master分支。

    ?

    (4)在master的code.txt添加一行內(nèi)容并進(jìn)行提交。

    ?

    現(xiàn)在,master分支和dev分支各自都分別有新的提交,變成了這樣:

    ?

    這種情況下,git無法執(zhí)行“快速合并”,只能試圖把各自的修改合并起來,但這種合并就可能會有沖突。

    (5)執(zhí)行如下命令嘗試將dev分支合并到master分支上來。

    ?

    git告訴我們,code.txt文件存在沖突,必須手動解決沖突后再提交。

    (6)git status也可以告訴我們沖突的文件:

    ?

    (7)查看code.txt的內(nèi)容。

    ?

    (8)git用<<<<<<<,=======,>>>>>>>標(biāo)記出不同分支的內(nèi)容,我們修改如下后保存:

    ?

    (9)再提交。

  • 現(xiàn)在,master分支和dev分支變成了下圖所示:
  • ?

    (11)用帶參數(shù)的git log也可以看到分支的合并情況:

    ?

    (12)最后工作完成,可以刪除dev分支。

    ?

    5.4 分支管理策略

    通常,合并分支時,如果可能,git會用fast forward模式,但是有些快速合并不能成而且合并時沒有沖突,這個時候會合并之后并做一次新的提交。但這種模式下,刪除分支后,會丟掉分支信息。

    (1)創(chuàng)建切換到dev分支下。

    ?

    (2)新建一個文件code3.txt編輯內(nèi)容如下,并提交一個commit。

    ?

    (3)切換回master分支,編輯code.txt并進(jìn)行一個提交。

    ?

    ?

    (4)合并dev分支的內(nèi)容到master分支。

    ?

    (5)出現(xiàn)如下提時,這是因為這次不能進(jìn)行快速合并,所以git提示輸入合并說明信息,輸入之后合并內(nèi)容之后git會自動創(chuàng)建一次新的提交。

    ?

    ?

    ?

    (6)使用分支命令查看分支信息。

    ?

    (7)刪除dev分支。

    ?

    ?

    ?

    ?

    ?

    如果要強(qiáng)制禁用fast forward模式,git就會在merge時生成一個新的commit,這樣,從分支歷史上就可以看出分支信息。

    (1)創(chuàng)建并切換到dev分支。

    ?

    (2)修改code.txt內(nèi)容,并提交一個commit。

    ?

    (3)切換回master分支。

    ?

    (4)準(zhǔn)備合并dev分支,請注意--no-ff參數(shù),表示禁用Fast forward:

    ?

    因為本次合并要創(chuàng)建一個新的commit,所以加上-m參數(shù),把commit描述寫進(jìn)去。

    (5)合并后,我們用git log看看分支歷史:

    可以看到,不使用Fast forward模式,merge后就像這樣:

    ?

    ?

    ?

    5.5 Bug分支

    軟件開發(fā)中,bug就像家常便飯一樣。有了bug就需要修復(fù),在git中,由于分支是如此的強(qiáng)大,所以,每個bug都可以通過一個新的臨時分支來修復(fù),修復(fù)后,合并分支,然后將臨時分支刪除。

    (1)當(dāng)你接到一個修復(fù)一個代號001的bug的任務(wù)時,很自然地,你想創(chuàng)建一個分支bug-001來修復(fù)它,但是,等等,當(dāng)前正在dev上進(jìn)行的工作還沒有提交:

    ?

    并不是你不想提交,而是工作只進(jìn)行到一半,還沒法提交,預(yù)計完成還需1天時間。但是,必須在兩個小時內(nèi)修復(fù)該bug,怎么辦?

    (2)git還提供了一個stash功能,可以把當(dāng)前工作現(xiàn)場“儲藏”起來,等以后恢復(fù)現(xiàn)場后繼續(xù)工作:

    ?

    (3)首先確定要在哪個分支上修復(fù)bug,假定需要在master分支上修復(fù),就從master創(chuàng)建臨時分支:

    ?

    (4)現(xiàn)在修復(fù)bug,把 the new line刪掉,然后提交。

    ?

    (5)修復(fù)完成后,切換到master分支,并完成合并,最后刪除bug-001分支。

    ?

    (6)現(xiàn)在bug-001修復(fù)完成,是時候接著回到dev分支干活了!

    ?

    (7)工作區(qū)是干凈的,剛才的工作現(xiàn)場存到哪去了?用git stash list命令看看:

    ?

    作現(xiàn)場還在,git把stash內(nèi)容存在某個地方了,但是需要恢復(fù)一下.

    ?

    小結(jié):

    修復(fù)bug時,我們會通過創(chuàng)建新的bug分支進(jìn)行修復(fù),然后合并,最后刪除;

    當(dāng)手頭工作沒有完成時,先把工作現(xiàn)場git stash一下,然后去修復(fù)bug,修復(fù)后,再git stash pop,恢復(fù)工作現(xiàn)場。

  • 使用github
  • 6.1 創(chuàng)建倉庫

    (1)注冊github賬戶,登錄后,點擊"New respository "

    ?

    ?

    ?

    ?

    ?

    (2)在新頁面中,輸入項目的名稱,勾選'readme.md',點擊'create repository'

    ?

    (3)添加成功后,轉(zhuǎn)到文件列表頁面.

    ?

    6.2 添加ssh賬戶

    (1)點擊賬戶頭像后的下拉三角,選擇'settings'

    ?

    如果某臺機(jī)器需要與github上的倉庫交互,那么就要把這臺機(jī)器的ssh公鑰添加到這個github賬戶上

    ?

    點擊'SSH and GPG keys',添加ssh公鑰。

    ?

    (2)在ubuntu的命令行中,回到用戶的主目錄下,編輯文件.gitconfig,修改某臺機(jī)器的git配置。

    ?

    (3)修改為注冊github時的郵箱,填寫用戶名。

    ?

    (4)使用如下命令生成ssh密鑰。

    ssh-keygen -t rsa -C "郵箱地址"

    ?

    (5)進(jìn)入主目錄下的.ssh文件件,下面有兩個文件。

    公鑰為id_rsa.pub

    私鑰為id_rsa

    查看公鑰內(nèi)容,復(fù)制此內(nèi)容

    ?

    (6)回到瀏覽器中,填寫標(biāo)題,粘貼公鑰

    ?

    6.3 克隆項目

    (1)在瀏覽器中點擊進(jìn)入github首頁,再進(jìn)入項目倉庫的頁面

    ?

    (2)復(fù)制git地址

    ?

    (3) 克隆出錯

    ?

    (4)在命令行中復(fù)制倉庫中的內(nèi)容

    6.4 上傳分支

    (1)項目克隆到本地之后,執(zhí)行如下命令創(chuàng)建分支smart.

    ?

    (2)創(chuàng)建一個code.txt并提交一個版本。

    ?

    (3)推送前github上文件列表如下圖

    ?

    (4)推送前github上分支列表如下圖

    ?

    (5)推送分支,就是把該分支上的所有本地提交推送到遠(yuǎn)程庫,推送時要指定本地分支,這樣,git就會把該分支推送到遠(yuǎn)程庫對應(yīng)的遠(yuǎn)程分支上

    git push origin 分支名稱 例: git push origin smart

    ?

    (6)再去github網(wǎng)站上去看分支頁面,內(nèi)容如下

    ?

    ?

    6.5 將本地分支跟蹤服務(wù)器分支

    git branch --set-upstream-to=origin/遠(yuǎn)程分支名稱 本地分支名稱 例: git branch --set-upstream-to=origin/smart smart

    ?

    6.6 從遠(yuǎn)程分支上拉取代碼

    git pull orgin 分支名稱 例: git pull orgin smart

    使用上述命令會把遠(yuǎn)程分支smart上的代碼下載并合并到本地所在分支。

    ?

  • 工作使用git
  • 項目經(jīng)理:

  • 項目經(jīng)理搭建項目的框架。
  • 搭建完項目框架之后,項目經(jīng)理把項目框架代碼放到服務(wù)器。
  • 普通員工:

  • 在自己的電腦上,生成ssh公鑰,然后把公鑰給項目經(jīng)理,項目經(jīng)理把它添加的服務(wù)器上面。
  • 項目經(jīng)理會給每個組員的項目代碼的地址,組員把代碼下載到自己的電腦上。
  • 創(chuàng)建本地的分支dev,在dev分支中進(jìn)行每天的開發(fā)。
  • 每一個員工開發(fā)完自己的代碼之后,都需要將代碼發(fā)布遠(yuǎn)程的dev分支上。
  • ?

    Master:用戶保存發(fā)布的項目代碼。V1.0,V2.0

    Dev:保存開發(fā)過程中的代碼。

    總結(jié)

    以上是生活随笔為你收集整理的git版本管理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。