有時候會需要避免一些檔案進入到版本控制當中,比如暫存檔、測試的檔案...,這個時候就可以使用.gitignore來忽略掉他們,將他們排除在版本控制當中。
使用git status
確認目前狀況 :
先前有預先新增一些不同檔案類型的檔案為了進行忽略測試,而.gitignore這個檔案無法被忽略掉,因為其他的團隊成員也會需要對它進行變更。
在.gitignore檔案中輸入index.html,表示對 "index.html"這個檔案進行忽略,所以再次使用git status
來查看狀況會發現index.html被忽略了。
若要略掉同一個檔案類型
的檔案,可以在.gitignore中輸入*.檔案類型
來忽略同一種檔案類型的檔案,底下的範例是在.gitignore中輸入*.html
來忽略掉所有html的檔案類型。
在專案中新增一個資料夾"css"裡面存放all.css,若要使用.gitignore來忽略掉整個資料夾,可以在.gitignore中新增資料夾名稱/
來忽略掉整個資料,利用git status
可以看到多了一個css/的資料夾未被加入到控管中。
在.gitignore中填入css/
來忽略掉css資料夾。
若在撰寫專題的時候,一開始將檔案1加入到索引當中,但是可能最後發生問題導致檔案1不再被需要,也就是不需要在索引中也不需要commit到本地數據庫中,這時候就可以使用取消索引功能來移除掉不必要的索引。
新增兩個檔案(all.css與all.js)並將他們加入到索引中,並使用git status
觀察狀態,確認兩個檔案都被加入到索引中。
利用git reset HEAD
移除掉目前存在在索引當中的全部檔案。
透過git status
可以看到先前加入到索引的all.css與all.js被取消了索引。
利用git set HEAD all.css
移除掉索引中的all.css這個"單一"個檔案。
透過git status
可以看到all.css被取消了索引,由於是單一檔案的取消,所以all.js還存在在索引中。
有些時候載撰寫網頁時,會發生因為更動了程式碼而導致網頁無論是板型還是功能壞掉了,但是卻找不到更動了什麼地方,這時候就可以使用還原檔案的功能來回到上一次commit的版本。
對於index.html來說,上一個commit的狀態index.html裡面是空的,所以使用git checkout index.html
來回到上一個狀態。
在進行一些專案的時候,可能在工作目錄上新增了許多資料(css,js...),但是當不需要這些檔案的時候,可以使用git reset --herd
來還原整個工作目錄到上一個commit狀態。
目前的工作目錄中存在著新加入的all.cs跟all.js兩個檔案,於是可以使用git reset --herd
將整個工作目錄到上一個commit狀態(只有一個index.html)。
參考資料 :
掌握 Git 與 Github 程式時光機