| 從資料夾到GIT,<參照 : 筆記、版本控制前言>
一、GIT 指令
git init 初始化
- 指令 :
git init - 用途 : 建立.git資料夾,放入預先建立好的東西。
- RMK : init 為初始化的意思

git clone 網址
- 用途 : 下載專案。
git status 檢視現在的狀態
- 指令 :
git status - RMK : 會出現相關指令說明,如
git add <file>...,git restore <file>

git add 決定是否加入版本控制
- 前言 : 基於安全性考量,部分檔案不加入版本控制。
- 加入版本控制指令 :
git add 檔案名稱,它將檔案分成兩個區塊,區塊一 : untrack(不加入/不被版本控制)、區塊二 : stage(有加入版本控制);git add .,會將所有檔案都加入版本控制 - 移除版本控制指令 :
git rm --cached <file>..." to unstage - RMK : commit 為創造新版本
git commit 新建一個版本
- (新建版本+相關敘述)指令 :
git commit -am "xxxxx",m為messenger

git commit -am "xxx" 將 git add . 與git commit 合併
- RMK(1) : 會自動將所有檔案加入,並commit。這裡的所有檔案,並不包含新檔。所以有新檔案時,
git add 檔案或git add . - RMK(2) : 打錯字欲修改commit messenger,使用指令
git commit --amend - RMK(3) : 還沒commit,但改的東西不想要了,使用指令
git restore 檔名

git reset Head^
- RMK(1) : Head^ 為頭(head)的前一個(^)狀態
- 指令 :
git reset Head^ --hard、git reset Head^ --soft、git reset Head^ --mixed(mix 為預設狀態) - 說明 : 使用
git reset Head^ --soft,改過的檔案還是會保留
git merge 合併
- 說明 : 可於本地使用
git merge <file>,或在GitHub上用pull request
git log 歷史紀錄
- 歷史紀錄指令 :
git log,commit+獨一無二的編號、commit的作者、commit時間、commit的內容 - RMK : 加入版本控制的動作,是每次都要做一次。一個commit相當於新建一個新的資料夾,資料夾名稱即commit的編號。
git log --oneline 簡短版的 git log
git checkout 回到某個版本
- 歷史紀錄指令 :
git checkout 版本序號 - 回到master上最新版本指令 :
git checkout master
git diff 查看歷史更改紀錄
.gitignore 要忽略的檔案
- 操作步驟 : 先建立檔案,在於檔案中輸入要忽略的檔名,最後再存檔

- RMK : 可將與專案無關的檔案,(如 : 使用者個人、作業系統產生之相關檔案),放入gitinore中
二、結論





狀況一、有新檔案
- 記得將新檔以
git add 檔案或git add .加入資料夾中。不然後出現untrack。放入資料夾後就會進入stage階段。git commit -am "xxxxx",放入新的版本中。 - RMK : stage階段,就相當於放入資料夾內

狀況二、無新檔案,但更改現有檔案
- 使用指令 :
git commit -am "xxxxx"

三、Recall GIT 觀念

四、參考資料
- 程式導師計畫第五期 [GIT 101]
![[ 筆記 ] Express 04 - 工具安裝懶人包](https://static.coderbridge.com/img/krebikshaw/d722a94d6b7c461cbf19377ee2c4e7f6.jpg)

