溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Git版本管理是什么

發(fā)布時間:2022-02-22 09:14:29 來源:億速云 閱讀:201 作者:iii 欄目:軟件技術(shù)

本篇內(nèi)容主要講解“Git版本管理是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Git版本管理是什么”吧!

Git是一個“分布式版本管理工具”。
版本管理工具能夠紀(jì)錄每次的修改,只要提交到版本倉庫,就可以找到之前任何時刻的狀態(tài)。
我們在寫東西的時候都用過撤消這個功能,但是撤消只能回撤有限步,通常關(guān)閉編輯軟件后再重新打開,此時的撤銷紀(jì)錄都已被清空了。而“版本管理工具”則不同,它能記錄每次的修改,只要提交到版本倉庫,就可以找到之前任何時刻的狀態(tài)。

創(chuàng)建倉庫

安裝git軟件后,在任意目錄下創(chuàng)建一個新文件夾,打開,然后執(zhí)行g(shù)it init來創(chuàng)建新的git倉庫(該命令將創(chuàng)建一個名為.git的隱藏子目錄)。

檢出倉庫

執(zhí)行命令git clone + 遠(yuǎn)程項(xiàng)目地址,用來克隆遠(yuǎn)端服務(wù)器上的倉庫。

Git狀態(tài)

Git有三種狀態(tài),分別是已提交(committed)、已修改(modified)、已暫存(staged)。

  • 已修改(modified):已修改表示修改了文件,但還沒保存到數(shù)據(jù)庫中。

  • 已暫存(staged):表示對一個已修改文件的當(dāng)前版本做了標(biāo)記,使之包含在下次提交的快照中。

  • 已提交(committed):數(shù)據(jù)已經(jīng)安全的保存在本地?cái)?shù)據(jù)庫中。

Git的三種狀態(tài)分別對應(yīng)本地倉庫的三個工作流,本低倉庫是由git維護(hù)的三棵樹組成。

  • 第一個是工作目錄,持有實(shí)際文件,增刪文件和內(nèi)容;

  • 第二個是暫存區(qū)(Index),像個緩存區(qū)域,臨時保存改動。輸入git add+filename,此次改動就放到了暫存區(qū)。

  • 第三個是HEAD,指向最后一次提交的結(jié)果。輸入git commit命令,此次改動就放到了本地倉庫。commit之后的可以稱為一個版本。

git基本工作流程:

  • 提出更改(添加到暫存區(qū))
    使用命令git add (針對特定文件)或git add *(針對所有文件)可以提出更改(把它們添加到暫存區(qū))。

  • 提交改動
    使用命令git commit -m “代碼提交信息” 來實(shí)際提交改動,執(zhí)行完后改動就提交到了HEAD,但是還沒到遠(yuǎn)端倉庫。

  • 推送改動
    使用命令git push origin master 將改動提交到遠(yuǎn)端倉庫master分支(通常不會直接提交到master分支,而是推送到自己的分支,核對無誤后再進(jìn)行merge)。

分支

前面提到了master分支,那么如何直觀的了解分支呢?

分支是用來將特性開發(fā)絕緣開來的。在創(chuàng)建倉庫的時候,master是“默認(rèn)”分支。在其他分支上進(jìn)行開發(fā),完成后再將它們合并到主分支上。

git branch test1創(chuàng)建一個名字為test1的分支。
git checkout test1切換當(dāng)前分支到test1
git checkout -b test1創(chuàng)建一個叫做“test1”的分支,并切換過去。
git checkout master切換回主分支。
git branch -d test1把新建的分支刪掉。
git push origin將分支推送到遠(yuǎn)端倉庫。
git merge test合并分支。

更新與合并

使用命令git pull “遠(yuǎn)程分支名” 從遠(yuǎn)程獲取代碼并合并到本低的版本(在工作目錄中獲?。╢etch)并合并(merge)遠(yuǎn)端的改動)
使用命令git merge “分支名” 把合并其他分支到當(dāng)前分支。

前面的兩種情況,git都會嘗試去自動合并改動。但合并可能會出現(xiàn)沖突(conflicts),需要手動修改文件來合并這些沖突。改動后執(zhí)行g(shù)it add 將它們標(biāo)記為合并成功。在合并改動之前,可以使用git diff <source_branch> <target_branch>來觀察是否存在差異。

替換本地改動

如果操作失誤,可以使用命令git checkout – 替換掉本地改動。該命令會使用 HEAD中的最新內(nèi)容替換掉工作目錄中的文件(已添加到暫存區(qū)的改動以及新文件都不會受到影響)

遠(yuǎn)程倉庫的移除和重命名

將test重命名為test1:git remote rename test test1
移除遠(yuǎn)程倉庫test1: git remote rm test1

撤銷操作

取消暫存的文件:git reset filename
撤銷對文件的修改:git checkout –filename

歷史紀(jì)錄

使用git log可以得到本地倉庫的歷史記錄。
使用命令git log --author=bob來只看某個人的提交記錄。添加一些參數(shù)來修改輸出,從而得到自己想要的結(jié)果。
查看哪些文件改變了: git log --name-status

到此,相信大家對“Git版本管理是什么”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

git
AI