iT邦幫忙

1

Git 學習筆記_03(使用Git指令 - 2)

使用 .gitignore來忽略檔案

有時候會需要避免一些檔案進入到版本控制當中,比如暫存檔、測試的檔案...,這個時候就可以使用.gitignore來忽略掉他們,將他們排除在版本控制當中。

新增 ".gitignore" 檔案

https://ithelp.ithome.com.tw/upload/images/20200419/20124767p2f3c3Fg3e.png

使用git status確認目前狀況 :
https://ithelp.ithome.com.tw/upload/images/20200419/201247673CK0tvDjQg.png
先前有預先新增一些不同檔案類型的檔案為了進行忽略測試,而.gitignore這個檔案無法被忽略掉,因為其他的團隊成員也會需要對它進行變更。

在 ".gitignore" 中輸入需要忽略的檔案或檔案類型

在.gitignore檔案中輸入index.html,表示對 "index.html"這個檔案進行忽略,所以再次使用git status來查看狀況會發現index.html被忽略了。

https://ithelp.ithome.com.tw/upload/images/20200419/20124767gD96VkS9G8.png

若要略掉同一個檔案類型的檔案,可以在.gitignore中輸入*.檔案類型來忽略同一種檔案類型的檔案,底下的範例是在.gitignore中輸入*.html來忽略掉所有html的檔案類型。
https://ithelp.ithome.com.tw/upload/images/20200419/20124767wghgqeBrLx.png

忽略整個資料夾

在專案中新增一個資料夾"css"裡面存放all.css,若要使用.gitignore來忽略掉整個資料夾,可以在.gitignore中新增資料夾名稱/來忽略掉整個資料,利用git status可以看到多了一個css/的資料夾未被加入到控管中。
https://ithelp.ithome.com.tw/upload/images/20200419/20124767Rr5oPgBpX9.png

在.gitignore中填入css/來忽略掉css資料夾。
https://ithelp.ithome.com.tw/upload/images/20200419/20124767pWvNTrgO5C.png


取消索引

若在撰寫專題的時候,一開始將檔案1加入到索引當中,但是可能最後發生問題導致檔案1不再被需要,也就是不需要在索引中也不需要commit到本地數據庫中,這時候就可以使用取消索引功能來移除掉不必要的索引。

將"all.css"與"all.js"加入到索引中

新增兩個檔案(all.css與all.js)並將他們加入到索引中,並使用git status觀察狀態,確認兩個檔案都被加入到索引中。

https://ithelp.ithome.com.tw/upload/images/20200419/20124767wPEBctTaCk.png

git reset HEAD -> 全部檔案取消索引

利用git reset HEAD移除掉目前存在在索引當中的全部檔案。
https://ithelp.ithome.com.tw/upload/images/20200419/201247672A4cGqCUtm.png
透過git status可以看到先前加入到索引的all.css與all.js被取消了索引。

git reset HEAD 檔案名稱 -> 將單一檔案取消索引

利用git set HEAD all.css移除掉索引中的all.css這個"單一"個檔案。
https://ithelp.ithome.com.tw/upload/images/20200419/20124767UrRluIwIK9.png
透過git status可以看到all.css被取消了索引,由於是單一檔案的取消,所以all.js還存在在索引中。


還原檔案

有些時候載撰寫網頁時,會發生因為更動了程式碼而導致網頁無論是板型還是功能壞掉了,但是卻找不到更動了什麼地方,這時候就可以使用還原檔案的功能來回到上一次commit的版本。

更改index.html中的內容

https://ithelp.ithome.com.tw/upload/images/20200419/201247671QvIbcLtxl.png

git checkout 檔案名稱 -> 將指定的檔案回到上一個commit的狀態

對於index.html來說,上一個commit的狀態index.html裡面是空的,所以使用git checkout index.html來回到上一個狀態。
https://ithelp.ithome.com.tw/upload/images/20200419/20124767gdgU8Brcwi.png
https://ithelp.ithome.com.tw/upload/images/20200419/20124767JZ2z2mZBFV.png

git reset --hard -> 還原整個工作目錄到上一個commit的狀態

在進行一些專案的時候,可能在工作目錄上新增了許多資料(css,js...),但是當不需要這些檔案的時候,可以使用git reset --herd來還原整個工作目錄到上一個commit狀態。

https://ithelp.ithome.com.tw/upload/images/20200419/20124767ljQ1gL2wWY.png

目前的工作目錄中存在著新加入的all.cs跟all.js兩個檔案,於是可以使用git reset --herd將整個工作目錄到上一個commit狀態(只有一個index.html)。
https://ithelp.ithome.com.tw/upload/images/20200419/20124767K5O12a9OIo.png
https://ithelp.ithome.com.tw/upload/images/20200419/20124767fJKvyWi182.png

參考資料 :
掌握 Git 與 Github 程式時光機


尚未有邦友留言

立即登入留言