---
# System prepended metadata

title: Git 操作說明

---

# Git 操作說明
## 下載安裝 git

window
https://git-scm.com/download/win

下載完成後，直接執行exe

安裝完畢後，打開command line，輸入
```
git --version
```
如果正常回傳給你版本資訊，代表安裝成功

## git 工具說明

可使用指令的方式，或另外下載source tree(圖形化介面)

### 指令工具說明
在你要儲存的資料夾右鍵，顯示其他選項
![](https://hackmd.io/_uploads/By_DHOAyT.png)

選擇open git bash here
![](https://hackmd.io/_uploads/H1l0rdR16.png)

即可開啟 git bash 介面
![](https://hackmd.io/_uploads/SySf8uRk6.png)


### source tree工具說明
如果想要使用圖形化介面，我個人建議使用source tree工具，比較好看也比較好操作

下載 sourcetree https://www.sourcetreeapp.com/

執行 setup.exe

1.有這個帳號在去設定，不然就skip
![](https://hackmd.io/_uploads/S18O_dRyp.png)
2.直接next即可，他其實會去下載git工具，但建議還是都要知道怎麼用
![](https://hackmd.io/_uploads/rJxsOdAy6.png)
3.輸入你的名字跟email，但不用真實的，他只是幫你設定之後你git操作的資訊，之後還是可以變更
![](https://hackmd.io/_uploads/H13etdRJ6.png)
4看到這個就no即可，要設定之後也可以設定
![](https://hackmd.io/_uploads/BkTLFOAyT.png)


## git 操作說明

### git clone

git clone的功能就是，將你要的此版控的設定以及檔案都存放下來，包誇code，此版控的歷史訊息，版控的設定....等

首先你要先取得你要 clone 下來的網址

github來說，位置在這
![](https://hackmd.io/_uploads/r1nV5OR1a.png)
複製網址

#### git bash

然後在 bash 輸入
```
git clone https://xxx.xxx.xxxxx
```

#### sourcetree
選擇clone
![](https://hackmd.io/_uploads/Sk3c3dR1T.png)
輸入資訊
![](https://hackmd.io/_uploads/BJhdTd0kT.png)

### git pull
#### git bash
從線上repository取得程式合進本地repository裡
![](https://hackmd.io/_uploads/ry7G4FRk6.png)
git pull 中，包含 git fetch，所以可以直接執行pull即可

#### sourcetree
直接點pull按鈕
![](https://hackmd.io/_uploads/rkcYVYRkT.png)

### git commit
#### git bash
新增修改完程式或文件後，要進行
```
git add
```

![](https://hackmd.io/_uploads/BywCwYAyp.png)

將還沒給git列管的檔案加進本地repository

如果有大量 untracked files
則使用
```
git add .
```
完成之後，進行commit
```
git commit -a -m "敘述一下做了些什麼"
```
![](https://hackmd.io/_uploads/H1mP_K0kp.png)

#### sourcetree
使用sourcetree可以直接點+號 或直接stage all，完成add的功能
![](https://hackmd.io/_uploads/BJjlYtAkp.png)

然後點擊左上角commit按鈕
![](https://hackmd.io/_uploads/S1Z3FKAJT.png)

填寫commit敘述，然後按下右下角commit
![](https://hackmd.io/_uploads/H1al5tRy6.png)

### git push

將本地repository儲存到線上repository

#### git bash

![](https://hackmd.io/_uploads/ryC__cC1T.png)

#### sourcetree

點選push即可
![](https://hackmd.io/_uploads/SklXFq01T.png)

