iT邦幫忙

2023 iThome 鐵人賽

DAY 16
0
Software Development

Zero to Ruby on Rails系列 第 16

Day 16 - Git 常用指令(一)

  • 分享至 

  • xImage
  •  

人生不能重來,但是 Git 可以。 Git 主要拿來做版本控制,是一種分散式的版本控制系統,而版本控制是軟體開發中不可或缺的一部分,它使開發者能夠追蹤程式碼的變更、協作工作、回退到之前的狀態,並管理多個分支,沒有 Git 以前相信大多數的人都是使用複製貼上大法來儲存備份,而 Git 是使用-DAG (Directed acyclic graph) 的儲存方式,利用有向無環圖來記錄 metadata 建構出 snapshots,相同內容只會有一份記錄,同時 Git 會保留對於檔案的新增、修改或是刪除等操作的歷史紀錄,它也會記錄是誰在什麼時間對檔案做更動,所以團隊協作上 Git 是不可或缺的好幫手,更是工程師必備的技能之一

Git 優點

  1. 開放原始碼、免費使用
  2. 速度快、檔案小
  3. 同時支援本地及遠端操作
  4. 容易與其它人共同協作

初始化一個新的Git儲存庫

這將建立一個.git子目錄,其中包含Git存儲庫的所有必要文件

$ git init

複製一個現有的儲存庫

如果要在Github上複製一個現有的存儲庫repository 可以這麼做

$ git clone <repository的URL>

工作目錄, 暫存區域, 以及儲存庫

工作目錄 Working, 暫存區域 Staging, and 儲存庫 Repository可以說是了解 Git 的重點觀念之一,透過 git add & git commit來操作,請看下方圖示說明

Git add, commit

將新增或變更的檔案加入追蹤 使用 git add 指令
將檔案存進去儲存庫repository使用 git commit 指令

git add

用於將工作目錄中的文件或目錄的更改添加到 Git 的暫存區(staging area)。暫存區是一個重要的中間區域,它允許你選擇性地將更改包含在下一個 commit

$ git add <文件或目錄>

git commit

一旦將更改添加到暫存區,就可以使用 git commit 命令來建立一個新的提交, commit 是對程式碼更改的永久性保存

$ git commit -m "commit 內容說明"

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 常用指令,我們明天見!


上一篇
Day 15 - Route 路徑
下一篇
Day 17 - Git 常用指令(二)
系列文
Zero to Ruby on Rails30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言