【Git 教程系列第 8 篇】將工作區的改動“新增“到暫存區 — git add

語言: CN / TW / HK

這是【Git 教程系列第 8 篇】,如果覺得有用的話,歡迎關注專欄。

在講解 git add 之前,我們不得不先了解另外一個 git 命令:git status

一:git status 介紹

作用 git status 命令用於顯示工作區和暫存區檔案的狀態,不顯示已經 commit (提交) 到版本庫中的資訊。 使用此命令能看到哪些修改已經放到了暫存區, 哪些沒有,哪些檔案沒有被 Git 跟蹤到。

我在 阿里雲 上新建了一個公共倉庫

倉庫地址連結(SSH方式):[email protected]:suxing_xixi/Write_down_your_name.git

新手學習 git 時可以拿這個公共倉庫練習,上傳一段話證明你成功的推送到這個公共倉庫即可。

推薦使用 SSH 方式,要比 HTTPS 快很多,我的 Windows如何建立--ssh,這篇部落格裡面寫的也很清楚。記得把本地公匙新增到阿里雲的設定-SSH金鑰裡面,這樣你本地電腦才能和遠端練習起來,切記!切記!切記!

例如:我從這個公共倉庫(此時還是空庫)克隆到本地目錄,不做任何操作,直接在本地目錄輸入 git status 命令

在這裡插入圖片描述

會提示當前在 master 分支上沒有任何可提交的內容。

這裡我暫時只列出一個示例,其它 git status 情況,遇到的時候再去分析。

二:git add 介紹

作用 把改動檔案新增到本地倉庫中的暫存區。

舉例說明 現在我在克隆下來的目錄下新建一個名為 "Test" 的 TXT 檔案 (編碼格式 UTF-8 ), 先 git status 一下

在這裡插入圖片描述

由圖可知,當增加新檔案,檢視當前檔案狀態時,狀態如上圖所示,未新增的檔案會被標記為紅色。

然後輸入指令 git add +檔案,回車

在這裡插入圖片描述

再次檢視檔案狀態

在這裡插入圖片描述

新增到暫存區的檔案會被標記為綠色。

三:其它 git add 指令

當然,這只是一個檔案,當有幾十,幾百個檔案都需要提交到暫存區,總不能一個一個的 add 吧,當然不會。

1:git add .

作用:該指令可以把工作區所有改動檔案全部提交到暫存區。

2:git add -A

作用:該指令可以把所有跟蹤檔案中被修改過,或已刪除檔案,和所有未跟蹤的檔案資訊新增暫存區。

3:git add -u

作用:該指令把所有跟蹤檔案中被修改過,或已刪除檔案的資訊新增暫存區。它不會處理那些沒被跟蹤的檔案。

4:git add Hello*

作用:將所有以 Hello 開頭的檔案的修改新增到暫存區。 例如:HelloWorld.txt,HelloUnity.txt,HelloGit.txt 等等。

當然,後面如果你對某個命令不熟悉,可以通過 指令名+空格+ -help ,回車的方式檢視,如

三:git add -help

假如你對 git add 命令不熟悉,你就可以在命令列輸入 git add -help,回車

在這裡插入圖片描述

與 git add 相關的組合指令都會顯示出來,解釋資訊也很清楚。

四:git add --help

如果輸入 指令名+空格+ --help 指令(help前兩個 -),會直接跳轉所輸指令的網頁連結

特殊宣告: 所有的版本控制系統,只能跟蹤文字檔案的改動,比如 TXT 檔案,網頁,所有的程式程式碼等等,Git 也不例外。

版本控制系統可以告訴你每次的改動,比如在第 4 行加了一個備註 “SuXing”,在第 8 行刪了一個單詞 “Windows”。

而圖片、影片這些二進位制檔案,雖然也能由版本控制系統管理,但沒法跟蹤檔案的變化,只能把二進位制檔案每次改動串起來,也就是隻知道圖片從 100KB 改成了 120KB ,但到底改了啥,版本控制系統不知道,也沒法知道(咱也不敢問,哈哈)

像前面說到的 Microsoft 的Word,Excel 格式都是二進位制格式,因此,版本控制系統是沒法跟蹤Word,Excel 檔案的改動,前面舉的例子只是為了演示,如果要真正使用版本控制系統,就要以純文字方式編寫檔案。

因為文字是有編碼的,比如中文有常用的 GBK 編碼,如果沒有歷史遺留問題,強烈建議使用標準的UTF-8 編碼,所有語言使用同一種編碼,既沒有衝突,又被所有平臺所支援。

你的問題得到解決了嗎?歡迎在評論區留言。

贈人玫瑰,手有餘香,如果覺得文章不錯,希望可以給個一鍵三連,感謝。


結束語

技術是一點一點積累的,大神也不是一天就可以達到的。原地不動就是退步,所以每天進步一點點。

最後,附上一句格言:"好學若飢,謙卑若愚",望共勉。