---
# System prepended metadata

title: Git(簡介+安裝)
tags: [暑假]

---

---
title: Git(簡介+安裝)
tags: 暑假
---
Git(簡介+安裝)
===
## 什麼是Git?
Git 是一種分散式版本的版本控制系統(Version Control System)。
### 「版本控制系統」
就是指會幫你記錄這些所有的狀態變化，並且可以像搭乘時光機一樣，隨時切換到過去某個「版本」時候的狀態。
例如你今天玩遊戲時候可以儲存遊戲一樣，舉例，為了避免打boss打輸了而損失裝備，又或是打倒boss卻沒有掉落期望的珍貴裝備，你也許在每次要去打頭目之前之前記錄一下，在發生狀況的時候可以載入舊進度，再來挑戰一次。

>簡言:就是你做了什麼動作，都會幫你記錄下來，讓你也可以防止檔案錯誤無法還原的問題

### 「分散式系統」
即使在沒有伺服器或是沒有網路的環境，依舊可以使用 Git 來進行版控，待伺服器恢復正常運作或是在有網路的環境後再進行同步，不會受影響。而且，事實上在使用 Git 的過程中，大多的 Git 操作也都是在自己電腦本機就可以完成。

>簡言:就是也可以離線使用在自己本機上

## Git優點
- #### 同時開發
  - 在自己的分支上同時運作。
- #### 免費、開源
- #### Git 與任何小組合作
  - 小組可以解決版本控制、工作專案追蹤，以及持續整合和部署的個別工具。 或者，他們可以選擇一個解決方案
例如 GitHub 或 Azure DevOps 、GitLab，可支援所有這些工作
提取要求(讓開發人員可以流覽檔案變更、留下批註、檢查認可、檢視組建，以及投票核准程式碼)以及分支原則(防止直接推送、要求檢閱者，並確保全新組建，以保護重要的分支)，可以讓整個專案受到保護以及確認。

## Git的成員
- #### Git：是一種版本控制系統，是一個命令，是一種工具。
- #### Git LFS 是 大檔案儲存（LFS）用Git中的文字指標替換音訊樣本、視訊、資料集和圖形等大檔案，同時將檔案內容儲存在遠端伺服器上，如此分開後，能加速存取的速度。
- #### Gitlib：是用於實現Git功能的開發庫。
- #### Github：是一個基於Git實現的線上程式碼託管倉庫，包含一個網站介面，向網際網路開放。
- #### GitLab：是一個基於Git實現的線上程式碼倉庫託管軟體，你可以用gitlab自己搭建一個類似於Github一樣的系統，一般用於在企業、學校等內部網路搭建git私服。

## 安裝 windows
其他平台下載方式:https://reurl.cc/2mQLEm
下載Git網址: https://git-scm.com/download/win
![](https://i.imgur.com/a2H8aVh.png)

安裝可以按Next> 到最後
![](https://i.imgur.com/KFkvwwg.png)

安裝完成之後，請找到「Git Bash」這個應用程式
![](https://i.imgur.com/OUUz4Rg.png)

進入後它本身模擬了一個在 Linux 的世界還滿有知名度的軟體（其實不能算是一般的應用軟體）叫做 Bash
![](https://i.imgur.com/yvMKRqx.png)

輸入指令確認有無安裝完成
```
$ git --version
git version 2.37.3.windows.1

$ which git
/mingw64/bin/git
```

![](https://i.imgur.com/A8KQV6n.png)

---

#### [下一篇Git(Gitlab簡介+常用指令)](https://hackmd.io/ISM9If6gRV-faijV4y2HtQ)

----
### 額外基本知識

#### Git GUI，Git Bash，Git CMD之間的區別

**Git CMD**就像常規Windows命令提示符中的git命令一樣。它使您可以通過命令列使用所有Git功能。如果您已經熟悉Windows cmd並且僅在Windows上工作，則很有用。

**Git Bash**在Windows上模擬bash環境。它使您可以在命令列中使用所有git功能以及standard unix commands的大部分功能。如果您習慣使用Linux並希望保持相同的習慣，則很有用。

**Git GU**I是 G 粗體 U ser I 介面(interface)，讓您無需觸控命令列即可使用Git。它是其他Git客戶端中的替代產品。由於Git GUI非常小，如果GUI感興趣，您也可以檢視other alternatives。

* **建議**
在切換到圖形介面之前通過命令列學習Git。如果不知道在Git Bash和Git CMD之間選擇哪個，我會選擇Git Bash，因為bash是一個非常有用的學習工具。
>總之學指令方式比較通用=)

----
### 學習參考網頁
:::info
[為你自己學Git](https://gitbook.tw/chapters/environment/gui-tools)
[Microsoft(什麼是 Git？)](https://docs.microsoft.com/zh-tw/devops/develop/git/what-is-git)
[常用Git指令介紹](https://hellojs-tw.github.io/git-101/cheat-sheet.html)
[gitlab介紹與兩種使用方式](https://www.796t.com/article.php?id=479959)
:::