本篇內(nèi)容主要講解“Git版本管理是什么”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“Git版本管理是什么”吧!
創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括沁縣網(wǎng)站建設(shè)、沁縣網(wǎng)站制作、沁縣網(wǎng)頁(yè)制作以及沁縣網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,沁縣網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到沁縣省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
Git是一個(gè)“分布式版本管理工具”。
版本管理工具能夠紀(jì)錄每次的修改,只要提交到版本倉(cāng)庫(kù),就可以找到之前任何時(shí)刻的狀態(tài)。
我們?cè)趯憱|西的時(shí)候都用過(guò)撤消這個(gè)功能,但是撤消只能回撤有限步,通常關(guān)閉編輯軟件后再重新打開,此時(shí)的撤銷紀(jì)錄都已被清空了。而“版本管理工具”則不同,它能記錄每次的修改,只要提交到版本倉(cāng)庫(kù),就可以找到之前任何時(shí)刻的狀態(tài)。
安裝git軟件后,在任意目錄下創(chuàng)建一個(gè)新文件夾,打開,然后執(zhí)行g(shù)it init來(lái)創(chuàng)建新的git倉(cāng)庫(kù)(該命令將創(chuàng)建一個(gè)名為.git的隱藏子目錄)。
執(zhí)行命令git clone + 遠(yuǎn)程項(xiàng)目地址,用來(lái)克隆遠(yuǎn)端服務(wù)器上的倉(cāng)庫(kù)。
Git有三種狀態(tài),分別是已提交(committed)、已修改(modified)、已暫存(staged)。
已修改(modified):已修改表示修改了文件,但還沒(méi)保存到數(shù)據(jù)庫(kù)中。
已暫存(staged):表示對(duì)一個(gè)已修改文件的當(dāng)前版本做了標(biāo)記,使之包含在下次提交的快照中。
已提交(committed):數(shù)據(jù)已經(jīng)安全的保存在本地?cái)?shù)據(jù)庫(kù)中。
Git的三種狀態(tài)分別對(duì)應(yīng)本地倉(cāng)庫(kù)的三個(gè)工作流,本低倉(cāng)庫(kù)是由git維護(hù)的三棵樹組成。
第一個(gè)是工作目錄,持有實(shí)際文件,增刪文件和內(nèi)容;
第二個(gè)是暫存區(qū)(Index),像個(gè)緩存區(qū)域,臨時(shí)保存改動(dòng)。輸入git add+filename,此次改動(dòng)就放到了暫存區(qū)。
第三個(gè)是HEAD,指向最后一次提交的結(jié)果。輸入git commit命令,此次改動(dòng)就放到了本地倉(cāng)庫(kù)。commit之后的可以稱為一個(gè)版本。
提出更改(添加到暫存區(qū))
使用命令git add (針對(duì)特定文件)或git add *(針對(duì)所有文件)可以提出更改(把它們添加到暫存區(qū))。
提交改動(dòng)
使用命令git commit -m “代碼提交信息” 來(lái)實(shí)際提交改動(dòng),執(zhí)行完后改動(dòng)就提交到了HEAD,但是還沒(méi)到遠(yuǎn)端倉(cāng)庫(kù)。
推送改動(dòng)
使用命令git push origin master 將改動(dòng)提交到遠(yuǎn)端倉(cāng)庫(kù)master分支(通常不會(huì)直接提交到master分支,而是推送到自己的分支,核對(duì)無(wú)誤后再進(jìn)行merge)。
前面提到了master分支,那么如何直觀的了解分支呢?
分支是用來(lái)將特性開發(fā)絕緣開來(lái)的。在創(chuàng)建倉(cāng)庫(kù)的時(shí)候,master是“默認(rèn)”分支。在其他分支上進(jìn)行開發(fā),完成后再將它們合并到主分支上。
git branch test1 | 創(chuàng)建一個(gè)名字為test1的分支。 |
---|---|
git checkout test1 | 切換當(dāng)前分支到test1 |
git checkout -b test1 | 創(chuàng)建一個(gè)叫做“test1”的分支,并切換過(guò)去。 |
git checkout master | 切換回主分支。 |
git branch -d test1 | 把新建的分支刪掉。 |
git push origin | 將分支推送到遠(yuǎn)端倉(cāng)庫(kù)。 |
git merge test | 合并分支。 |
使用命令git pull “遠(yuǎn)程分支名” 從遠(yuǎn)程獲取代碼并合并到本低的版本(在工作目錄中獲?。╢etch)并合并(merge)遠(yuǎn)端的改動(dòng))
使用命令git merge “分支名” 把合并其他分支到當(dāng)前分支。
前面的兩種情況,git都會(huì)嘗試去自動(dòng)合并改動(dòng)。但合并可能會(huì)出現(xiàn)沖突(conflicts),需要手動(dòng)修改文件來(lái)合并這些沖突。改動(dòng)后執(zhí)行g(shù)it add 將它們標(biāo)記為合并成功。在合并改動(dòng)之前,可以使用git diff
如果操作失誤,可以使用命令git checkout – 替換掉本地改動(dòng)。該命令會(huì)使用 HEAD中的最新內(nèi)容替換掉工作目錄中的文件(已添加到暫存區(qū)的改動(dòng)以及新文件都不會(huì)受到影響)
將test重命名為test1:git remote rename test test1
移除遠(yuǎn)程倉(cāng)庫(kù)test1: git remote rm test1
取消暫存的文件:git reset filename
撤銷對(duì)文件的修改:git checkout –filename
使用git log可以得到本地倉(cāng)庫(kù)的歷史記錄。
使用命令git log --author=bob來(lái)只看某個(gè)人的提交記錄。添加一些參數(shù)來(lái)修改輸出,從而得到自己想要的結(jié)果。
查看哪些文件改變了: git log --name-status
到此,相信大家對(duì)“Git版本管理是什么”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!