Git基礎教學 === ###### tags: `git`   最近換了新工作環境,目前公司主要是以Git在維護程式碼,看了看發現好像也是現在主流,就來學一下順便做個筆記,避免忘記。 ## 建立本地Git數據庫 ### 步驟一:建立一個要使用的專案。 這邊應該大家都會吧?我就不多提了。 ### 步驟二:建立本地數據庫 開啟cmd,下指令cd移動到專案的檔案位置,然後指令init建置這個專案的Git數據庫。 ``` $ cd {根目錄位置} $ git init ``` >P.S 若出現 "Initialized empty Git repository in [專案位置/.git/]" 的訊息,代表數據庫建置成功,也可以去專案資料夾檢查有沒有一個隱藏資料夾叫做 " . git " 。 :::warning 註:任何版本控制項目都會透過 . git 資料夾進行監視版控。 ::: ### 步驟三:查看未加入索引檔案 在專案中新增一個檔案index.html(若專案已有檔案則不需要再新增),此時輸入指令 status可查看到未加入索引中的檔案(Untracked files),也就是剛才新增的index.html。 ``` $ git status ``` :::warning 註:Untracked files是Git偵測到但未列入追蹤對象的檔案,也就是指索引。 ::: ### 步驟四:檔案加入索引 下指令add將檔案加入索引,若要一次加入所有檔案,檔案名稱改為"." "即可。 再次使用status指令去查看會發現原本未加入索引(Untracked files)的檔案變成在索引中等待被提交的狀態(Changes to be committed)。 ``` $ git add {檔案名稱} //或者 $ git add . ``` 若不小心添加錯檔案進索引,可以使用reset指令去取消。 ``` $ git reset {檔案名稱} //或者 $ git reset ``` ### 步驟五:commit新版本 下指令commit,將目前的版本提交至數據庫。 ``` $ git commit -m {填寫版本資訊} ``` :::warning 註:提交(commit)時Git會自動記錄使用者名稱、提交時間等資訊,因此{填寫版本資訊}這邊應該要簡略解釋這版本改動了什麼。 ::: ### 步驟六:瀏覽commit紀錄 下指令log瀏覽版本(commit)紀錄。若要退出,可按小寫 q。 ``` $ git log ``` 這樣就建好commit囉!:tada:之後每次檔案修改完,都須把修改的檔案再加進索引一次,全部加進索引後提交(commit)上去成為新的版本。 ---- ## 建立遠端GitHub儲存庫 ### 步驟一:建立GitHub遠端數據庫 在GitHub新增一個儲存庫(new repository)。新增時,下方會出現三個勾選選項,如圖所示。 >![newRepository](https://i.imgur.com/7vwaXAD.png =400x400) - Add a README file:幫你在本地儲存庫上加入一個遠端儲存庫並上傳至GitHub。 - Add .gitignore:增加一個git忽略的設定檔。 - Choose a license:同事說工作上用不太到,所以就沒去特別了解(X)未來有用到再補上。 :::warning 註: .gitignore可以定義那些檔案或資料夾內的檔案變化不需要被追蹤或更新(如:log資料夾、專案設定檔、依賴套件,通常不會被設定存入Git裡的東西)。 ::: ### 步驟二:連結本地與遠端數據庫 按下創建後,GitHub會給予三個方案的指令(如圖),分別是在本地儲存庫上加入一個遠端儲存庫並上傳至GitHub、將原有的本地儲存庫上傳至GitHub、從其他地方導入儲存庫。 >![vPc32ci](https://i.imgur.com/vPc32ci.png) - 在本地儲存庫上加入一個遠端儲存庫並上傳至GitHub: ``` $ echo "# [專案名稱]" >> README.md $ git init $ git add README.md $ git commit -m "first commit" $ git branch -M main $ git remote add [遠端數據庫簡稱] [遠端數據庫網址] $ git push -u [遠端數據庫簡稱] main ``` - 將原有的本地儲存庫上傳至GitHub: ``` $ git remote add [遠端數據庫簡稱] [遠端數據庫網址] $ git branch -M main $ git push -u [遠端數據庫簡稱] main ``` - 從其他地方導入儲存庫:目前同樣用不到,先不提。 :::warning 註: - README.md是GIT專案一進去的時候會顯示的說明內容,可以不下指令新增,但沒有的話各式GIT儲存庫的網頁上(例如:GitHub、Bitbucket、GitLab...等)就不會秀下面的專案說明。 - GitHub預設遠端數據庫的簡稱為origin,你也可以取自己想要的名稱。 - -u為預設要推(push)至哪個儲存庫服務。 ::: ### 步驟三:遠端數據庫建立完成! 上述步驟完成後重新整理GitHub頁面,就會發現檔案已經上傳上去囉!也可以在本地端下指令去查看。 觀看遠端數據庫列表: ``` $ git remote ``` 觀看遠端數據庫列表(包含 rul): ``` $ git remote -v ``` >P.s 在最後上傳(push)指令時可能會跳出要求登入GitHub的畫面,打上帳號密碼就行。 >參考資訊在這:[W3Hexschool](https://w3c.hexschool.com/git/b9be5b1e)