git有三大區(工作區、暫存區、版本庫)以及幾個狀態(untracked、unstaged、uncommited)
三個儲存區狀態的演變順序
檔案在各個區域間轉換的命令
把檔案往git版本庫里新增的時候,是分兩步執行的:
第一步是用git add
把檔案新增進去,實際上就是把檔案修改新增到暫存區;
第二步是用git commit
提交更改,實際上就是把暫存區的所有內容提交到當前分支。
因為我們建立git版本庫時,git自動為我們建立了唯一乙個master
分支,所以,現在,git commit
就是往master
分支上提交更改。
1、開啟你的專案資料夾,除了隱藏的.git資料夾,其他專案檔案位於的地方便是工作區
2、在工作區新增乙個文字檔案,狀態是untracked(未跟蹤)
3、git
add
命令實際上就是把要提交的所有修改放到暫存區(stage),git便會在暫存區中生成乙個該檔案的索引,檔案此時處於uncommited狀態
4 、執行git commit
就可以一次性把暫存區的所有修改提交到分支。
git diff 比較檔案
git diff filepath 工作區與暫存區比較
git diff head filepath 工作區與head ( 當前工作分支) 比較
git diff --staged 或 --cached filepath 暫存區與head比較
git diff branchname filepath 當前分支的檔案與branchname 分支的檔案進行比較
git diff commitid filepath 與某一次提交進行比較
僅僅刪除暫存區裡的檔案
git rm --cache 檔名
刪除暫存區和工作區的檔案
git rm -f 檔名
刪除錯誤提交的commit,也可稱為版本回退
git reset有三個選項,--hard、--mixed、--soft
撤銷已提交的版本庫,不會修改暫存區和工作區
git reset --soft 版本庫id
撤銷已提交的版本庫和暫存區,不會修改工作區
git reset --mixed 版本庫id
徹底將工作區、暫存區和版本庫記錄恢復到指定的版本庫
git reset --hard 版本庫id
git 各個區的區別
git有三大區 工作區 暫存區 版本庫 以及幾個狀態 untracked unstaged uncommited 三個儲存區狀態的演變順序 檔案在各個區域間轉換的命令 把檔案往git版本庫里新增的時候,是分兩步執行的 第一步是用git add把檔案新增進去,實際上就是把檔案修改新增到暫存區 第二步是...
C 各個儲存區
include void main 對應的彙編 10 a c 1 00401067 8a 4d f1 mov cl,byte ptr ebp 0fh 0040106a 88 4d fc mov byte ptr ebp 4 cl 11 a p 1 0040106d 8b 55 ec mov edx,...
Git中工作區與暫存區的區別
隨著github的影響範圍不斷擴大,對開源著迷的小夥伴越來越多。在使用git過程中,有不少朋友對git中工作區與暫存區的概念比較模糊,在此對git中工作區與暫存區的區別 稍微做一些解釋,希望可以為一些朋友,解決一些疑惑。工作區 就是你在電腦上看到的目錄,比如目錄下git裡的檔案 git隱藏目錄版本庫...