人生不能重來,但是 Git
可以。 Git 主要拿來做版本控制,是一種分散式的版本控制系統,而版本控制是軟體開發中不可或缺的一部分,它使開發者能夠追蹤程式碼的變更、協作工作、回退到之前的狀態,並管理多個分支,沒有 Git 以前相信大多數的人都是使用複製貼上大法來儲存備份,而 Git 是使用-DAG (Directed acyclic graph)
的儲存方式,利用有向無環圖來記錄 metadata
建構出 snapshots
,相同內容只會有一份記錄,同時 Git 會保留對於檔案的新增、修改或是刪除等操作的歷史紀錄,它也會記錄是誰在什麼時間對檔案做更動,所以團隊協作上 Git 是不可或缺的好幫手,更是工程師必備的技能之一
。
這將建立一個.git子目錄,其中包含Git存儲庫的所有必要文件
$ git init
如果要在Github
上複製一個現有的存儲庫repository
可以這麼做
$ git clone <repository的URL>
工作目錄 Working
, 暫存區域 Staging
, and 儲存庫 Repository
可以說是了解 Git 的重點觀念之一,透過 git add & git commit來操作,請看下方圖示說明
將新增或變更的檔案加入追蹤 使用 git add
指令
將檔案存進去儲存庫repository使用 git commit
指令
用於將工作目錄中的文件或目錄的更改添加到 Git 的暫存區(staging area
)。暫存區是一個重要的中間區域,它允許你選擇性地將更改包含在下一個 commit
中
$ git add <文件或目錄>
一旦將更改添加到暫存區,就可以使用 git commit
命令來建立一個新的提交, commit 是對程式碼更改的永久性保存
$ git commit -m "commit 內容說明"
一個好的協作專案 commit 訊息是很重要的,就跟變數&方法命名一樣,提高可讀性,讓協作者可以一看就懂,所以使用約定式提交
可以讓所有協作者按照慣例去提供可讀性高的 commit 訊息,以下是一些常用的約定式提交
訊息:
feat::新增新功能 (feature)。
fix::修復程式碼缺陷 (bug)。
docs::更新文檔 (documentation)。
style::修改程式碼風格,例如縮進、空格、分號等。
refactor::重構程式碼,不影響功能,只是改進程式碼結構或可讀性。
test::新增或修改測試用例,不影響功能代碼。
chore::更新任務和工作,不影響功能代碼。
build::用於影響系統構建或外部依賴的更改,例如配置文件的更改、外部依賴的升級等。
ci::用於 CI/CD 相關的更改,例如更新 CI/CD 腳本、配置 CI 環境等。
perf::用於性能相關的更改,例如優化算法、加速運行時間等。
Day 17 中場休息part2 預計繼續介紹 Git 常用指令,我們明天見!