---
# System prepended metadata

title: '(一) Git 基礎操作: 建立分支及提交'
tags: [git]

---

# (一) Git 基礎操作: 建立分支及提交

## 1. 建立分支
在本地端建立新的分支`issue77`
```git
$ git checkout -b issue77
```
這相當於執行下面這兩條命令：

```git=
$ git branch issue77
$ git checkout issue77
```

## 2. 把檔案交給Git控管
在提交檔案之前，先使用`git status`這個指令查詢現在這個目錄的「狀態」
```git
$ git status 
On branch master

Initial commit

nothing to commit (create/copy files and use "git add" to track)
```
新增一個文件`README.md`至目錄下，再次使用`git status`查看
```git
$ git status
On branch master

Initial commit

Untracked files:
    (use "git add <file>..." to include in what will be committed)

        REAMME.md

nothing added to commit but untracked files present (use "git add" to track)
```

狀態陳列`Untracked files`的檔案表示該檔案尚未被加入到Git版控系統裡，還沒正式Git追蹤。使用`git add FILENAME`的指令來新增
```git
$ git add README.md
```

再次使用`git status`來查看目前狀態，檔案從`Untracked`變成`new file`的狀態，表示這個檔案已經被安置到暫存區(Staging Area)，等待其他檔案一起被提交到儲存庫。


## 3. 提交 commit

下達`git commit [branch-name]`來提交這次的更新，並且為這次的更新撰寫其目的以及內容，關於提交訊息的撰寫有良好的規範，可以查看 [Git 提交訊息範例](https://hackmd.io/@m58FqDWWT_W3mUMvosHQGg/H1d-NM_ur) 來編纂你的提交訊息。

```git
$ git commit issue77
```

寫好提交訊息後，下達`:x`執行提交。

---
### :bulb:【狀況】: 追加檔案到最近一次commit


> 剛完成提交就發現有小錯誤或是有檔案忘了加進去，但又不想為此再重新發一個commit。

使用`--amend`參數進行提交

例如`README.md`檔案欲新增至最近的一次提交。一樣將使用`git add`新增至暫存區:
```git
$ git add README.md
```

接著在提交的時候加上`--amend`參數:
```
$ git commit --amend --no-edit
```
如此一來就可以把檔案併入上一次提交，而參數`--no-edit`表示我不需要編輯提交訊息，所以不會跳出編輯器視窗。

###### tags: `git`
