文章目錄
- 04.GIT本地操作-初始化工作區
- 內容
- 小結
- 05.GIT本地操作-add與commit
- 目標
- 內容
- 小結
- 06.GIT本地操作-差異比較
- 目標
- 內容
- 小結
- 07.GIT本地操作-版本回退
- 目標
- 內容
- 小結
- 08.GIT本地操作-修改撤消
- 目標
- 內容
- 小結
- 09.GIT本地操作-總結
04.GIT本地操作-初始化工作區
內容
-
初始化工作區
-
工作區 就是你在電腦里能看到的目錄。比如我們剛剛創建的learn-Git目錄,在最初使用的時候,我們需要初始化當前的文件夾為工作區
-
如何初始化工作區
命令:git init 初始化
在要被初始化工作區的目錄右鍵,選擇
Git Bash Here
-
輸入 git init
在文件夾中機會出現一個隱藏文件 .git 如圖
當我們在文件夾中添加文件的時候,那么這個文件就會被 Git 所管理
- 查看狀態
我們在 該目錄中創建一個 readme.txt 文件,并使用 vim 命令進入編輯模式添加內容:第一行代碼。可以通過命令來查看它的狀態
命令:git status 查看狀態
紅色代表當前沒有提交到緩存區
小結
-
如何初始化工作區
git init
初始化成功的標志是有一個.git的隱藏目錄 -
如何查看文件狀態
git status
-
進入文件編輯模式 linux系統
? vim 文件名然后 按 字母 i(前) a(后) o(下一行)插入數據然后按esc退出====最后按 :wq保存退出。
- 查看文件內容:cat 文件名 linux系統
05.GIT本地操作-add與commit
目標
? 可以使用 git add 將文件添加到暫存區,使用git commit 提交到本地倉庫
內容
-
工作區提交緩存區
在git控制臺中使用 命令
命令:git add readme.txt
這是完成了將文件由工作區提交暫存區
我們通過
git status
來查看狀態發現這時文件變成綠色,可以提交到本地倉庫
-
緩存區提交本地倉庫
命令:git commit -m '第一次提交' 說明:-m 后面跟隨的是為你提交的備注,m是單詞message信息的首字母提交信息格式:增刪改查第幾次提交
注意:如果第一次提交需要填寫如下內容:
命令:git config --global user.email '123456@qq.com' 說明:指定郵箱 命令:git config --global user.name 'xiaowang' 說明:指定操作者
小結
-
說一下
git add
的作用將工作區的文件添加到暫存區
-
說一下
git commit
的作用將文件從暫存區提交到本地倉庫
git commit -m '信息'
-
擴展:
添加多個文件 git add [file1] [file2] ... 添加指定目錄到暫存區,包括子目錄 git add [dir] 添加當前目錄下的所有文件到暫存區,不包括被刪除的文件 git add . 重要 add 時,一個個文件加比較麻煩,可以用下面的命令將所有變動的文件同步至暫存區(新增、修改、刪除) git add -A 下面的命令是將所有修改和刪除的文件同步至暫存區,不包括新增文件 git add -u
06.GIT本地操作-差異比較
目標
? 使用 git diff
來比較暫存區、本地庫與工作區的內容
內容
使用 vim 命令,對 readme.txt 文件進行編輯,添加我是第二行代碼,使用:wq退出
-
工作區暫存區比較
命令:git diff readme.txt
-
工作區本地庫比較
命令:git diff HEAD readme.txt
-
暫存區本地庫比較
命令:git diff --cached readme.txt
這里緩存區和本地庫沒有不同所以沒有內容
-
補充:可以第二次提交到暫存區和本地倉庫
小結
-
工作區與暫存區如何比較
git diff 文件名
-
工作區與本地庫如何比較
git diff HEAD 文件名
-
暫存區與本地庫如何比較
git diff --cached 文件名
07.GIT本地操作-版本回退
目標
? 掌握 git log、git reflog、git reset 作用
內容
當我們從暫存區提交到本地倉庫時,發現當前的提交的版本有問題,希望回退到指定版本如何操作呢?
使用vim命令編輯readme.txt,添加“我是第三行代碼”
命令:git add readme.txt 提交到暫存區
命令:git commit -m '第三次提交' 提交到本地倉庫
我們可以通過git提供的查看日志命令來查看提交的日志
命令:git log 查看當前提交日志
圖略.
可以發現,目前為止,我們已經在本地倉庫中提交了3次,也就是說有3個不同版本。其中,最近的這個版本有一個標示:HEAD-> master 這就是標記當前分支的當前版本所在位置,如果沒有顯示當前所在位置可以使用下面命令查看:
命令:git log --decorate 查看當前提交日志,且顯示當前分支的當前版本所在位置
在log中,每一個版本的前面,都有一長串隨即數字: ab44a10787c2db2bccd7ceb9c39dcf06d309065518d4b ,這是每次提交的 commit id ,這是通過SHA1算法得到的值,Git通過這個唯一的id來區分每次提交
-
回退到之前版本
命令:git reset --hard HEAD^回歸到上一個版本,Git通過HEAD來判斷當前所在的版本位置。那么上一個版本,就用HEAD^標示,上上一個版本就是HEAD^^,當然往上100個版本寫100個^比較容易數不過來,所以寫成HEAD~100。
這時我們可以在查看一下日志 git log
圖略
發現只有兩個版本,我們在查看一下文件內容
圖略
-
回退到指定版本
圖略
首先使用
命令: git reflog 查看所有操作
找到之后可以使用如下命令進行回退到指定版本
命令:git reset --hard 版本號 回退到指定版本
我們回到第三次提交,這時我們在查看文件
小結
-
如何查看當前日志
git log 只能看到當前操作
-
如何查看所有操作日志
git reflog 查看所有操作日志
-
如何回退到上一個版本
git reset --hard head^
-
如何回退到指定版本
git reset --hard 版本號
08.GIT本地操作-修改撤消
目標
? 掌握 git checkout、git reset head作用
內容
當我們工作區內容想要提交到緩存區時【add】,突然發現有問題,想要撤銷該如何處理?
當我們已提交到緩存區的內容,發現出現了bug,這時又應該如何處理哪?
以上操作我們可以使用GIT提供的撤銷命令來完成
-
工作區撤銷修改
編輯readme.txt添加“我是第四行”
在你提交緩存區前,你突然發現這個修改是有問題的,你打算恢復到原來的樣子。怎么辦?
使用 git status 命令查看當前狀態
命令:git checkout 文件名稱 撤銷工作區修改
我們撤銷后,在查看文件中內容,發現工作區內容已經撤銷,并查看狀態,發現狀態很干凈
-
暫存區撤銷修改
使用 vim 命令 編輯readme.txt添加“我是第五行”
使用git add提交文件至暫存區
撤銷到工作區
命令:git reset HEAD readme.txt 撤銷到工作區
工作區撤銷 git checkout readme.txt
我們在查看文件,發現已經恢復到最初始樣子
小結
-
如何實現工作區撤銷修改
git checkout 文件名
-
如何撤銷緩存區內容
git reset HEAD 文件名
09.GIT本地操作-總結
- 初始化工作區 git init
- 查看狀態 git status
- 提交
- 工作區提交暫存區 git add 文件
- 暫存區提交本地庫 git commit -m ‘提交信息’
- 差異比較
- 工作區緩存區比較 git diff 文件名
- 工作區本地庫比較 git diff HEAD 文件名
- 緩存區與本地庫比較 git diff --cached 文件名
- 版本回退
- 查看日志 git log
- 回退到上一個版本 git reset --hard head^
- 查看所有操作日志 git reflog
- 回退到指定版本 git reset --hard 版本號
- 修改撤消
- 工作區撤消 git checkout 文件名
- 撤消緩存區(從緩存區撤銷到工作區) git reset head 文件名