---
# System prepended metadata

title: Git Intro
tags: [Atelli, Training]

---

# Git Intro
###### tags: `Atelli` `Training`

### What is Git?
Git是在為你的專案進行版本控制的一個工具，除了可以管理你的專案以外，可以隨時對於之前的版本做切換以及還原，非常實用，其他有類似的Tool，例如SVN...，概念大同小異。

### Origin是什麼意思?
僅僅是你remote位址的一個代名詞，減少每次都要打漏漏長一段網址的方式。

可以下指令 `git remote -v` 看下你目前所在的repo裡的位址。

以此專案為例子：
```
origin	git@gitlab.cyntellitech.org:frontend/gitlab-flow-demo.git (fetch)
origin	git@gitlab.cyntellitech.org:frontend/gitlab-flow-demo.git (push)
```


### Basic Command

```git=
# 建立數據庫
git init

# 註冊檔案到git
git add <file path> or <.>

# 為此次註冊的檔案給一個訊息記錄，延伸閱讀：https://github.com/commitizen/cz-cli
git commit -m 'your message'

# 顯示這次的變動
git status

# 查看提交紀錄
git log

# 切換分支
git checkout <branch name>

# 還原修改
git checkout <file path> or <.>

# 取得遠端數據庫的最新歷史記錄
git fetch

# 取得遠端數據庫的歷史記錄，內容會自動合併
git pull <origin name> <branch name>


# 提交至遠端數據庫
git push <origin name> <branch name>


```


### References
https://backlog.com/git-tutorial/tw/
