---
# System prepended metadata

title: 'Git版本控制:'
tags: [git]

---

# Git版本控制:
###### tags: `git`
## 1.是業界最常⽤的版本控制系統(Version Contorl System)
## 2.可將多個  檔案/目錄的某時刻 存成一個版本紀錄.
# 3. 開發端(Local端)
舉例來說:
你有個倉庫(Repository),倉庫外有個小廣場(stagin area),
今天需要將貨物先放進小廣場上(Git ADD),等時間差不多了再把倉庫大門打開,把貨物放進倉庫裡(Git Commit),並記錄貨物是幹嘛用的(Commit Message)

| Working Directory |
| ----------------- | 
| 工作目錄   /貨物       

## Git Add ⇊ ⇊把檔案交給Git,讓Git追蹤,此時在暫存區(永久保存)

| Stagin Area |
|:-----------:|
|  暫存區/小廣場|
## Git Commit ⇊ ⇊將暫存區的內容提交到儲存庫做保留
| Repository |
| --------   |
| 儲存庫/倉庫  |

###  ⇊ ⇊ ⇊ ⇊ ⇊ PUSH上傳 [上傳到Remoto端的Git server上]
* 其他的LOCAL端可以PUll(下載)回去
* 第一次的下載動作叫做CLONE
## 遠端(Remote端)
push:從本地儲存庫 推(複製)至遠端儲存庫
pull:從遠端儲存庫 拉(複製)至本地儲存庫
reset:退回(跳到)至某個版本紀錄
discard:放棄工作區的版本異動
### 正式在git留下版本的紀錄稱為[log]
### 多個紀錄形成的列表稱為[history]
