精美企業(yè)網(wǎng)站seo數(shù)據(jù)優(yōu)化教程
文件的四種狀態(tài)
Untracked:未追蹤,如新建的文件,在文件夾中,沒有添加到git庫,不參與版本控制,通過git add將狀態(tài)變?yōu)閟taged
Unmodify:文件已入庫,未修改,即版本庫中的文件快照內(nèi)容與文件夾完全一致,這種類型的文件有兩種去處,如果被修改,變?yōu)镸odified,如果使用git rm移除版本庫,則稱為Untracked文件
Midified:文件已修改,僅僅只是被修改,沒有對其進行其他操作,也有幾個去處,
1.通過git add可進入staged狀態(tài)
2.使用git checkout,則丟棄修改過,返回到unmodify狀態(tài),
3.git checkout取出文件,覆蓋當(dāng)前修改
Staged:暫存狀態(tài),執(zhí)行g(shù)it commint 將修改同步到庫中,此時庫中文件與本地文件又變?yōu)橐恢?#xff0c;文件為Unmodify狀態(tài),使用git reset HEAD filename取消暫存,文件狀態(tài)為Modified
git status 查看相關(guān)文件的狀態(tài)
git add . 將所有文件添加到暫存區(qū)
git commint -m 提交暫存區(qū)的內(nèi)容到本地倉庫 -m就是提交信息
如果我們新建一個git項目,此時里面就一個.git文件夾,此時運行
git status
如果此時我們新建一個hello.txt的文件,再運行g(shù)it status,告訴我們此時有一個hello.txt沒有被跟蹤
此時我們執(zhí)行g(shù)it add .將其添加到暫存區(qū)之后再執(zhí)行g(shù)it status,告訴我們此時有一個變?yōu)榱舜峤坏臓顟B(tài),暫存區(qū)有文件了
我們將其提交到本地倉庫
此時再運行g(shù)it status,此時就沒有東西了
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
忽略文件
有些時候,我們不希望把某些文件納入版本控制中,比如數(shù)據(jù)庫文件、臨時文件、設(shè)計文件等
在主目錄下建立“gitignore”文件,此文件有如下規(guī)則
1.忽略文件中的空行或是以井號#開始的行將會被忽略
2.可以使用Linux通配符。例如:星號(*)代表任意多個字符,問好(?)代表一個字符,方括號[ ]代表可選字符范圍,大括號{String1,String2}代表可選字符串
3.如果名稱的最前面有一個感嘆號!,標(biāo)識例外規(guī)則,不被忽視
4.如果名稱的最前面有一個路徑分隔符/,表示要忽略的文件在此目錄下,而子目錄的文件不用忽略
5.如果名稱的最后面是一個路徑分隔符/,表示要忽略的是此目錄下該名稱的子目錄,而非文件
#為注解
*.txt??? 忽略所有以.txt結(jié)尾的文件,這樣
!lib.txt 但lib.txt除外
/temp 忽略其更根目錄
bulid/ 忽略bulid一下所有文件
doc/*.txt 會忽略doc/notes.txt,但是不會忽略doc/server/arch.txt