---
# System prepended metadata

title: GIT CMD

---

# GIT CMD

* 初始化 - git init
* 新增分支  - git branch test1 master
* 查狀態 - git status 
* 暫存檔案 - git add [file]
* 提交檔案 - git commit -m " message"
* 暫存+提交檔案(已存在檔案) - git commit -a -m " message"
* 刪除+add檔案 - git rm [file]
* 非刪除、僅不追蹤 - git rm [file] --cache
* 改檔名 - mv [old file name] [new file name]


## `git init`
初始化
![](https://i.imgur.com/sbwpFQH.jpg)


---


## `git branch test1 master`
從master拉出一隻名叫test1的分支
![](https://i.imgur.com/wxykA9p.png)

## `git status`
查看狀態。剛剛新增兩個檔案(add1.txt、add2.txt)狀態是**Untracked** 
![](https://i.imgur.com/idckHtN.png)


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

## `git add [file1] [file2]`
就是要把檔案交給 Git，讓 Git 開始「追蹤」它
VS CODE會從變更->暫存的變更

1.將add1.txt加入追蹤:
:::info
git add add1.txt
:::
![](https://i.imgur.com/gZQ3YCR.png)

2.加入多個特定檔[git add A檔名 B檔名]: 
:::info
git add add1.txt add2.txt
:::
(同副檔名:git add *.txt)
![](https://i.imgur.com/NWDRYaC.png)

3.加入全部檔案: 
:::info
git add --all
:::
![](https://i.imgur.com/B3qNMvb.png)

:::warning

:warning: 注意:若後續修改到剛剛add的檔案要<font color="red">再一次git add  檔案 </font> (如下圖情況)
:::
 ![](https://i.imgur.com/ffDBHZY.png)
 
---
## git commit -m " message"
 指令把暫存區的內容移至儲存庫。
 對 Git 來說就是「把暫存區的東西存放到儲存庫（Repository）裡」，
 也是完成一個存檔（或備份）的動作。
 
 將剛才追蹤的檔案都commit上去
 :::info
 git commit -m "add file commit<font color="red">(輸入此次修改內容)</font>"
 :::


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

---
## git commit -a -m " message"

覺得要先 add 再 commit 有點囉嗦嗎？
你可以針對<font color="red">已存在檔案</font>使用這句(若此次新增的檔案會無效喔QQ)
 :::info
 git commit <font color="red">-a</font> -m "add+commit一起做<font color="red">(輸入此次修改內容)</font>"
 :::
![](https://i.imgur.com/8ywd2XQ.png)
![](https://i.imgur.com/a1ax50D.png)


---
## git rm [file]

1.僅刪除檔案 add1.txt (還需再git add [file])
 :::info
 rm add1.txt
 :::
 :::warning
 等同sourcetree對檔案右鍵選Remove(rm就縮寫阿)
 ![](https://i.imgur.com/iAmXbdU.png)

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


2.像這樣先 rm 刪除然後再 git add 加入暫存區的兩段式動作，事實上可以直接使用 git rm 指令
 :::info
 git rm add1.txt
 :::
![](https://i.imgur.com/YkMWal3.png)

---
## git rm [file] --cache

不是想把這個檔案刪掉，只是不想讓這個檔案再被 Git 控管了，可以加上 --cached 參數：
:::info
git rm add1.txt --cache  
 :::
 狀態會變成Untracked
![](https://i.imgur.com/221H8JH.png)

---
## mv [old file name] [new file name]

把add1.txt改名為changeName.txt
:::info
mv add1.txt changeName.txt
 :::
![](https://i.imgur.com/Xkh6uJO.png)


