Git跟蹤與提交檔案
在Git建立Repository版本庫一章節介紹如何建立一個版本庫。
本章節介紹一下Git對檔案管控的基本流程,首先我們建立一個空目錄並將其初始化:
[Shell] 純文字檢視 複製程式碼$ cd /e #切換到E盤。 $ mkdir git-ant # 在E盤下建立git-ant目錄。 $ cd git-ant # 切換到此目錄。 $ git init # 初始化當前目錄,那麼其中的檔案就可以得到有效管控。 Initialized empty Git repository in E:/git-ant/git-ant/.git/
程式碼在E盤建立目錄git-ant,並將其初始化,建立空版本庫,除了預設隱藏.git目錄,別無它物。
一.git status指令:
此指令可以查詢當前目錄下檔案的狀態:
[Shell] 純文字檢視 複製程式碼$ git status On branch master No commits yet nothing to commit (create/copy files and use "git add" to track)
當前目錄除.git外沒有其他東西,所以執行此命令之後,沒有任何檔案新增、提交或者刪除等資訊。
特別說明:在我們建立版本庫時,系統會為我們自動建立一個master分支。
下面在當前目錄新增一個名為readme.txt檔案,通過編輯器或者命令列都可以:
[Shell] 純文字檢視 複製程式碼$ echo "螞蟻部落" > readme.txt
上面建立readme.txt檔案,並寫入字串"螞蟻部落"。
特別說明:如果使用編輯器建立,windows系統不推薦使用記事本建立檔案,它特有的對utf-8格式檔案處理方式可能會導致問題,推薦notepad++,把Notepad++的預設編碼設定為UTF-8 without BOM,圖示如下:
現在執行git status命令:
[Shell] 純文字檢視 複製程式碼$ git status On branch master No commits yet Untracked files: (use "git add <file>..." to include in what will be committed) readme.txt nothing added to commit but untracked files present (use "git add" to track)
新增readme.txt檔案處於Untracked狀態,也就是說Git已經感知到檔案的存在,但是還沒有跟蹤它。
二.git add指令:
通過git add命令可以跟蹤一個檔案,程式碼如下:
[Shell] 純文字檢視 複製程式碼$ git add readme.txt
readme.txt檔案被納入跟蹤,將其從工作區提交到了暫存區,暫存區也可以稱為索引(index)。
特別說明:點選回車執行此命令成功,通常下面不會出現反饋資訊。
再來看它的狀態:
[Shell] 純文字檢視 複製程式碼$ git status On branch master No commits yet Changes to be committed: (use "git rm --cached <file>..." to unstage) new file: readme.txt
分析如下:
(1).On branch master:表示當前位於master分支。
(2).No commits yet:表示至今還沒有任何提交。
(3).Changes to be committed:表示已經有新的修改被提交到暫存區,可以被提交到儲存庫中了。
(4).檔案由原來的Untracked狀態轉換為new file狀態。
三.git commit指令:
僅將檔案從工作區提交到暫存區是不夠的,一個完整的流程還沒有走完,如果想讓暫存區的內容可以永久安全的儲存下來,需要將其提交到倉庫中存檔,git commit指令即可完成此工作。
[Shell] 純文字檢視 複製程式碼$ git commit -m "螞蟻部落第一次提交" [master (root-commit) 961b2f7] 螞蟻部落第一次提交 1 file changed, 1 insertion(+) create mode 100644 readme.txt
指令解析如下:
(1).-m表示對此次提交進行註釋,簡述此題提交的相關資訊。
(2).如果不加-m,那麼在點選回車之後,會預設彈出自帶的VIM編輯器,然後輸入提交資訊。
關於VIM編輯器的基本用法可以參閱git Vim編輯器輸入內容、儲存和退出操作一章節。
上述三步,將檔案從工作區提交到暫存區,最會提交到倉庫,完成一次完整的提交過程,也就是進行了一次存檔。
現在再來看執行git status看一下狀態:
[Shell] 純文字檢視 複製程式碼$ git status On branch master nothing to commit, working tree clean
暫存區和工作區都是乾淨的。
相關文章
- git 忽略跟蹤檔案Git
- git clean清除未跟蹤檔案Git
- git刪除未跟蹤檔案Git
- git列出跟蹤的檔案列表Git
- [zt] oracle跟蹤檔案與跟蹤事件Oracle事件
- oracle跟蹤檔案與跟蹤事件(zt)Oracle事件
- Git命令git update-index --assume-unchanged,忽略不想提交的檔案(忽略跟蹤)GitIndex
- git列出所有已經跟蹤檔案Git
- 如何在 Git 中取消檔案的跟蹤Git
- 檔案-跟蹤檔案
- 跟蹤session 與 trace檔案分析Session
- 跟蹤SESSION 與 trace 檔案解析Session
- oracle跟蹤檔案和跟蹤事件(zt)Oracle事件
- Oracle跟蹤檔案Oracle
- Oracle跟蹤檔案trace檔案Oracle
- 刪除git已經跟蹤的檔案或者目錄Git
- 解析listener跟蹤檔案
- 尋找跟蹤檔案
- 控制檔案的跟蹤檔案全文
- git 刪除已經新增到git跟蹤的檔案或資料夾Git
- git將當前目錄下所有檔案納入跟蹤Git
- 獲取跟蹤檔案位置
- 獲取跟蹤檔案_eygle
- 跟蹤 sql 的trace檔案SQL
- tkprof: 分析ORACLE跟蹤檔案Oracle
- Oracle 跟蹤檔案和檔案轉儲(dump)Oracle
- ORACLE 10046 設定跟蹤事件後無跟蹤檔案Oracle事件
- .gitignore忽略跟蹤指定檔案Git
- 使用TKPROF檢視跟蹤檔案
- 使用 Tkprof 分析 ORACLE 跟蹤檔案Oracle
- oracle 跟蹤檔案理論整理Oracle
- 跟蹤一次trc檔案
- Git 忽略已經提交的檔案Git
- git 忽略已提交過的檔案Git
- 專案計劃與跟蹤(轉)
- 轉:使用 Tkprof 分析 ORACLE 跟蹤檔案Oracle
- ORACLE 跟蹤檔案詳細解釋Oracle
- 妙用 Intellij IDEA 建立臨時檔案,Git 跟蹤不到的那種IntelliJIdeaGit