---
# System prepended metadata

title: Git 基本指令筆記
tags: [Git]

---

# Git 基本指令筆記

###### tags: `Git`



## `git init`：跟 Git 說讓你開始接管這裡啦！

在當前位置新增 .git 隱藏資料夾來記錄版本
（也就是建立 Git Repository 檔案庫）

讓 Git 開始對這個資料夾做版本控管。

執行
```
git init
```
之後會出現這個 `.git` 的檔案

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

## `git status`：檢查當前版本狀態
可以看到現在的檔案狀態是：
Untracked
Modified
New File
Deleted
...
等狀態中的哪一種

## `git add`：加入版本控制

把檔案從 Untracked（不加入的檔案）移到 stage（加入版本控制的檔案）。

依照括號內提示可知：

    git rm --cached <file>：取消版控
    git add <file>：加入版控
    若檔案數量太多，可使用 git add . 把檔案全部加入版本控制。

## `git commit`：新建版本

    輸入指令後會進入 vim 介面，就可以編輯提交版本訊息（commit message）

:::info
- `git commit -am　"message"`
=> 可一次完成 add + commit 兩個指令動作。
(但如果是新的檔案，必續先 git add 一次之後，才能使用-ma)
:::

## `git log`：查看版本紀錄

從新到舊列出，內容分別是版本號碼、提交者、提交時間。
`git log --oneline`：輸出更簡短的 log，只用版本號前七碼 + commit 內容

## `git checkout`：切換到某個版本

`git checkout <版本號碼> `：切換到指定版本
`git checkout master` ：切換到最新版本

## .gitignore：忽略不要版本控制的檔案

在同個資料夾裡新增檔名為 .gitignore 的檔案

接著把你不想被 git 控管的檔案清單寫入 .gitignore
例如：

```
.DS_Store
node_modules/
*.log
haters/
.idea/
```
這樣這些檔案就不會被歸類在untrack了～

## 參考資料

[[week 1] 版本控制 - Git 概念 ＆ 基本指令](https://hackmd.io/@Heidi-Liu/note-git)

[git 官方中文手冊](https://git-scm.com/book/zh-tw/v2/%E9%96%8B%E5%A7%8B-%E9%97%9C%E6%96%BC%E7%89%88%E6%9C%AC%E6%8E%A7%E5%88%B6)