# Lesson 1
---
## Git Introduction
Git 是一個分散式的版本控制系統,所謂的版本控制系統是指它會記錄所有狀態的變化,每個git都是一個存檔點,你可以透過git來去回溯到以前的版本,此外git還有可以共同開發的功能,git在多人協作的專案中有著不可或缺的存在。
----
## Git優點
1. 免費、開源
2. 速度快、檔案體積小
3. 分散式系統

----
## GitHub Introduction
管理git的平台,可以在上面創立一個git repository,用來儲存所有的git以及專案的內容,假設你在一個團隊內,每個人都可以透過github上的repository來取得檔案,修改、更新上傳後,可以在repository上進行整合,達成多人協作的好處。
github也是一種軟體工程師的社交平台,你可以在上面找到現在最熱門的主題或專案,甚至可以下載別人github上的東西。
---
## Git Fundamental
----
### `git --version`
檢查當前git的版本
----
### `git config --global user.name "Your Name"`
設定名子
----
### `git config --global user.email "Your Email"`
設定信箱
---
## git command
----
### `git init`
會在當前的目錄中新增一個 .git 的隱藏資料夾,用來記錄所有檔案變更的歷史。
----
### `git add`
將變更的資料加入git的緩衝區。
----
### `git commit -m "commit message" `
為這次的變更下標題、訊息。
----
### `git status`
顯示目前有哪些檔案變更了、哪些還沒加入暫存區、哪些已經準備提交,以及你所在的分支狀態
----
### `git push`
把目前在本地端的資料,推送到遠端的respository上。
----
### `git log`
顯示版本歷史
----
### `git log --oneline`
簡易的log
----
### `rm -rf .git`
取消git init
---
## Lab
- Create github account
- Create your first repository
{"title":"Lesson 1","description":"Git 是一個分散式的版本控制系統,所謂的版本控制系統是指它會記錄所有狀態的變化,每個git都是一個存檔點,你可以透過git來去回溯到以前的版本,此外git還有可以共同開發的功能,git在多人協作的專案中有著不可或缺的存在。","contributors":"[{\"id\":\"1437a620-63fc-4b0c-ae0a-093195876283\",\"add\":2216,\"del\":1085,\"latestUpdatedAt\":1754548660016}]"}