昨天用tree /F看完我的eyes_prj之後,發現原來我的專案本身已經有一定的架構了。
但只知道每個資料夾的用途還沒辦法決定是否需要保留,因為我的目標是把這些以前做過的專案整理成可以放到 GitHub 的作品集。所以今天就要開始進一步檢查:
我的專案裡到底有哪些檔案是真的需要保留的?
因為有些檔案看起來好像沒有用,但他可能是專案正常執行所需要的,如果沒有確認就直接刪掉,可能會讓原本可以執行的專案壞掉。
所以今天我會把目前的檔案分成這幾種類型:
那麼先來看看現在Git的狀態:

因為在Day 7的時候使用git add . 所以這些檔案已經全部被放進 Staging Area了。所以它們已經被加入下一個Commit的準備清單,但是還沒Commit。
那麼就來分類這些檔案的類別吧,可以把目前的檔案分成:
Controllers/
Models/
Views/
App_Start/
Content/
Scripts/
這裡有專案程式碼、畫面、樣式、前端腳本及設定
eyes_prj.csproj
Web.config
Web.Debug.config
Web.Release.config
packages.config
Global.asax
Global.asax.cs
Properties/
.vs/
bin/
obj/
App_Data/eyes_db.mdf
App_Data/eyes_db_log.ldf
那麼這就是我今天要來確認的檔案。
這兩個檔案是一組 SQL Server 資料庫相關檔案:.mdf:主要的資料庫檔案.ldf:SQL Server的交易記錄檔
它們是我的專案資料庫相關檔案,所以不能直接當成不需要的檔案。要怎麼分辨這些檔案到底該不該放進Git呢?
會發現我的專案裡有一個檔案是Web.config,它裡面會放資料庫連線設定,所以直接:
Select-String -Path Web.config -Pattern "eyes_db"

可以看到這段:請把 EYES_DB.MDF 這個資料庫檔案掛載進來使用。
attachdbfilename=|DataDirectory|\EYES_DB.MDF
代表這個專案會使用 App_Data 裡的 eyes_db.mdf 作為資料庫檔案。
所以可以確認eyes_db.mdf 並不是由 Visual Studio 或建置過程產生的檔案,他是這個專案實際使用的資料庫。
那麼這個資料庫檔案適合放進Git嗎?
雖然他真的是這個專案實際使用的資料庫,但可能裡面包含的是測試資料、個人資料或其他不適合公開的隱私資料,也有各種需要考量的因素,所以不能單純的這樣決定適不適合放進去Git。那麼今天確認了它在專案中的用途,明天就會進一步的去檢查這個資料庫裡的內容,再決定它最後應該怎麼處理。