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列出跟蹤的檔案列表Git
- git clean清除未跟蹤檔案Git
- Git命令git update-index --assume-unchanged,忽略不想提交的檔案(忽略跟蹤)GitIndex
- git列出所有已經跟蹤檔案Git
- 如何在 Git 中取消檔案的跟蹤Git
- git 刪除已經新增到git跟蹤的檔案或資料夾Git
- git將當前目錄下所有檔案納入跟蹤Git
- .gitignore忽略跟蹤指定檔案Git
- 妙用 Intellij IDEA 建立臨時檔案,Git 跟蹤不到的那種IntelliJIdeaGit
- git commit未能提交指定檔案原因GitMIT
- git 忽略已提交過的檔案Git
- Git 忽略已經提交的檔案Git
- 轉:使用 Tkprof 分析 ORACLE 跟蹤檔案Oracle
- git的跟蹤分支和遠端跟蹤分支學習筆記Git筆記
- git檢視指定提交檔案的內容Git
- git恢復誤刪未提交的檔案Git
- git將工作區修改檔案直接提交倉庫Git
- git提交中出現沒有變化的檔案Git
- 【Git】取消追蹤多個檔案或目錄Git
- 設定IDEA自動忽略GIT提交檔案型別IdeaGit型別
- Windows下用命令列工具ADRCI跟蹤日誌檔案Windows命令列
- [20191221]12c查詢跟蹤檔案內容.txt
- 【LOG】Oracle資料庫清理日誌、跟蹤檔案利器Oracle資料庫
- 如何做好專案進度監控與跟蹤
- APT組織跟蹤與溯源APT
- [20211227]抽取跟蹤檔案中的繫結變數值.txt變數
- git拉取專案以及提交專案Git
- Git——提交Git
- git blame檢視檔案由哪次提交修改Git
- 在vs code透過git提交檔案至遠端倉庫(github)Github
- 實現git版本控制中專案某一個檔案可以不提交,只在本地git生效,不影響線上gitGit
- js表單檔案提交JS
- git提交時支援檔名大小寫的修改Git
- 如何分配和跟蹤專案工作量?
- 解決Git已經提交了專案再新增.gitignore檔案不生效的問題Git
- git 修改提交作者及提交日期Git
- sp_trace_setfilter sqlserver篩選跟蹤或跟蹤過濾FilterSQLServer