9. Git 更改而非文件

2018-08-04 14:17 更新

Git 聚焦于文件的更改而非文件本身。當(dāng)你說 Git 添加文件時(shí), 你并非在告訴 Git 要添加文件到倉庫。而是說 Git 應(yīng)當(dāng)對文件 的當(dāng)前狀態(tài)做記錄以便稍后提交。

我們將嘗試在本次實(shí)驗(yàn)中探索其中的差異。

初次更改:允許默認(rèn)名稱

如果命令行參數(shù)未提供,更改“Hello, World”程序來接受一個(gè) 默認(rèn)值。

name = ARGV.first || "World"

puts "Hello, #{name}!"

添加更改

現(xiàn)在添加此次更改到 Git 的暫存區(qū)。

$ git add hello.rb

二次更改:添加注釋

現(xiàn)在給“Hello, World”程序添加一行注釋。

# Default is "World"
name = ARGV.first || "World"

puts "Hello, #{name}!"

檢查當(dāng)前狀態(tài)

$ git status

你應(yīng)該看到:

$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   modified:   hello.rb
#
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   modified:   hello.rb
#

注意 hello.rb 在狀態(tài)中被列了兩次。第一次更改已被暫存,且 準(zhǔn)備提交。第二次更改還未暫存。如果你現(xiàn)在提交,那么注釋不 會(huì)保存到倉庫中。

讓我們試試看。

提交

提交暫存的更改,然后重新檢查狀態(tài)。

$ git commit -m "Added a default value"
$ git status

你應(yīng)該看到:

$ git commit -m "Added a default value"
[master 582495a] Added a default value
 1 files changed, 3 insertions(+), 1 deletions(-)
$ git status
# On branch master
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   modified:   hello.rb
#
no changes added to commit (use "git add" and/or "git commit -a")

status 命令將告訴你 hello.rb 還有未記錄的更改,且不在暫存 區(qū)。

添加第二次更改

現(xiàn)在添加第二次更改到暫存區(qū),然后執(zhí)行 git status。

$ git add .
$ git status

注意:我們使用當(dāng)前目錄(.)作為要添加的文件。這是一種 添加當(dāng)前目錄及其子目錄下所有更改文件的習(xí)慣簡寫方式。 但因?yàn)樗砑铀袞|東,所以在做 add . 前檢查狀態(tài)是一 個(gè)好主意,只是為了確定你沒有添加不想要的文件。

我想你已經(jīng)明白了 add . 這個(gè)技巧,但為了安全在余下的 教程中我們將繼續(xù)直接添加文件。

你應(yīng)該看到:

$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   modified:   hello.rb
#

現(xiàn)在第二次已經(jīng)暫存,且準(zhǔn)備提交。

提交第二次更改

$ git commit -m "Added a comment"
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)