# 8. 提交更改
## 目的
> 學習如何提交更改到倉庫。
### 提交更改
好,關于暫存談得夠多了。讓我們提交已暫存的內容到倉庫。
當你先前使用 `git commit` 命令提交 hello.rb 文件的初始化版本 到倉庫時,你在命令行上的 `-m` 選項可以包含注釋。`commit` 命 令將允許你交互式地編輯提交的注釋。現在讓我們試試看。
如果你從命令行忽略 `-m` 選項,那么 Git 將帶你到所選的編輯器 中。編輯器按以下列表選擇(使用優先級順序):
```
GIT_EDITOR 環境變量
core.editor 配置設置
VISUAL 環境變量
EDITOR 環境變量
```
我已將 `EDITOR` 變量設置為 emacsclient。
那么,現在提交并檢查狀態。
```
$ git commit
```
你應該在編輯器中看到下面的內容:
```
|
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: hello.rb
#
```
在第一行,輸入注釋:“Using ARGV”。保存文件,并退出編輯 器。你應該看到:
```
git commit
Waiting for Emacs...
[master 569aa96] Using ARGV
1 files changed, 1 insertions(+), 1 deletions(-)
```
“Waiting for Emacs…”來自發送文件到正在運行的 Emacs 程序 emacsclient,并等候關閉文件。其余的輸出是標準的提交信息。
### 檢查狀態
最后,讓我們再檢查下狀態。
```
$ git status
```
你應該看到:
```
$ git status
# On branch master
nothing to commit (working directory clean)
```
工作目錄是干凈的,且準備讓你繼續。
- 關于
- 1. 設置
- 2. 再談設置
- 3. 創建項目
- 4. 檢查狀態
- 5. 做更改
- 6. 暫存更改
- 7. 暫存與提交
- 8. 提交更改
- 9. 更改而非文件
- 10. 歷史
- 11. 別名
- 12. 獲得舊版本
- 13. 給版本打標簽
- 14. 撤銷本地更改
- 15. 撤銷暫存的更改
- 16. 撤銷提交的更改
- 17. 從分支移除提交
- 18. 移除 oops 標簽
- 19. 修正提交
- 20. 移動文件
- 21. 再談結構
- 22. Git 內幕:.git 目錄
- 23. Git 內幕:直接處理 Git 對象
- 24. 創建分支
- 25. 導航分支
- 26. 在 master 中更改
- 27. 查看分叉的分支
- 28. 合并
- 29. 創建沖突
- 30. 解決沖突
- 31. 變基 VS 合并
- 32. 重置 greet 分支
- 33. 重置 master 分支
- 34. 變基
- 35. 合并回 master
- 36. 多個倉庫
- 37. 克隆倉庫
- 38. 回顧克隆的倉庫
- 39. 何為 Origin?
- 40. 遠程分支
- 41. 更改原始倉庫
- 42. 取得更改
- 43. 合并拉下的更改
- 44. 拉下更改
- 45. 添加跟蹤的分支
- 46. 裸倉庫
- 47. 添加遠程倉庫
- 48. 推送更改
- 49. 拉下共享的更改
- 50. 托管你的 Git 倉庫
- 51. 共享倉庫
- 52. 高級/將來的主題