git文件有三種狀態(tài):1、已提交狀態(tài)(committed),表示數(shù)據(jù)已經(jīng)安全的保存在本地?cái)?shù)據(jù)庫中;2、已修改狀態(tài)(modified),表示修改了文件,但是還沒有保存到數(shù)據(jù)庫中;3、已暫存狀態(tài)(staged),表示對(duì)一個(gè)已修改文件的當(dāng)前版本做了標(biāo)記,使之包含在下次提交的快照中。
本文操作環(huán)境:Windows10系統(tǒng)、Git2.30.0版、Dell G3電腦。
git文件有哪幾種狀態(tài)
git的文件狀態(tài)有三種:
針對(duì)Git 文件的三種狀態(tài),這里需要了解Git項(xiàng)目的三個(gè)工作區(qū)域:工作區(qū)、暫存區(qū)和Git倉庫。
知識(shí)擴(kuò)展:
基本的Git工作流程描述如下:
-
在工作區(qū)中修改某些文件。
-
對(duì)修改后的文件進(jìn)行快照,然后添加到暫存區(qū)。
-
提交更新,將保存在暫存區(qū)域的文件快照永久轉(zhuǎn)儲(chǔ)到 Git 倉庫中。
GIt在提交之前,存在3種狀態(tài):Untracked files(未被追蹤、監(jiān)測)、Changes not staged for commit、Changes to be committed。這三種狀態(tài)可以任意轉(zhuǎn)換。
Untracked files:標(biāo)記文件還沒有被git監(jiān)測、管理,這時(shí)可以使用git add命令將提示為Untracked files的文件添加到git倉庫。
Changes to be committed:提示為該種狀態(tài)的文件,已經(jīng)在暫存區(qū)生成了快照,等待被提交。這時(shí)可以使用git commit -m "注釋"來提交文件。
這個(gè)時(shí)候,也可以通過 git rm –cached 文件名 命令,將文件狀態(tài)還原為Untracked狀態(tài)。
在Changes to be committed狀態(tài)中的文件,可以被提交,也可以繼續(xù)修改。
Changes not staged for commit:在Changes to be committed狀態(tài)的文件沒有commit而繼續(xù)修改后,通過git status 查看,就有了Changes not staged for commit狀態(tài)。這個(gè)狀態(tài)表示文件已經(jīng)被修改,但是沒有放入暫存區(qū)域,還沒有生成快照。這個(gè)時(shí)候可以進(jìn)行2個(gè)操作,commit和add操作。
如果進(jìn)行了commit操作,則只是將修改之前的文件提交到了git版本目錄(只有暫存區(qū)域的文件,狀態(tài)為Changes to be committed的文件,才能被提交);如果需要將修改后的文件也提交,則需要使用git add命令,將文件添加文件到暫存區(qū)域。如果想要撤銷修改,則使用:git checkout –文件名。
推薦學(xué)習(xí):《Git教程》