網(wǎng)頁設計心得體會報告怎么寫怎么理解搜索引擎優(yōu)化
GIT | 基礎操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤銷修改 | 刪除文件
文章目錄
- GIT | 基礎操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤銷修改 | 刪除文件
- 前言
- 一、安裝git
- 二、git基本操作
- 2.1 初始化git
- 2.2 配置局部生效
- 2.3 配置全局生效
- 三、認識工作區(qū)、暫存區(qū)、版本庫
- 3.1 添加文件場景一
- 3.2 查看添加的文件
- 3.3 添加文件場景二
- 四、修改文件
- 4.1 查看工作區(qū)的狀態(tài)
- 五、版本回退
- 六、撤銷修改
- 6.1 情況一:對于工作區(qū)的代碼,還沒有add
- 6.2 情況二:已經add ,但沒有commit
- 6.3 情況三:已經add ,并且也commit 了
- 七、刪除文件
前言
Git(讀音為/g?t/)是一個開源的分布式版本控制系統(tǒng),可以有效、高速地處理從很小到非常大的項目版本管理。也是Linus Torvalds為了幫助管理Linux內核開發(fā)而開發(fā)的一個開放源碼的版本控制軟件。
我們這里就不多介紹這里的
GIT
了,百度百科和維基百科上都有很多介紹,我們這里就不再介紹,直接來演示~~
下面演示的均是Centos7.6系統(tǒng),
- 我們先來檢測以下git有沒有安裝
git --version
- 如果提示的是這樣的就說明沒有安裝
一、安裝git
- 執(zhí)行以下命令,安裝git
yum instal -y git
- 如果執(zhí)行失敗的話就先更新一下系統(tǒng)
yum update -y
- 然后再檢測是否安裝成功~
二、git基本操作
2.1 初始化git
- 安裝好git后,我們就要創(chuàng)建一個本地倉庫,就是要初始化一下
創(chuàng)建文件夾
mkdir gitcode
進入文件夾
cd gitcode/
初始化git
git init
查看是否初始化成功
ls -al
- 查看隱藏文件
git
目錄下,有什么文件~~
- 我們需要設置郵箱和用戶名【這里是局部生效的配置用戶名和郵箱】
2.2 配置局部生效
配置用戶名
git config user.name "shilin"
配置郵箱
git config user.email "intshanxi@163.com"
查看配置
git config -l
那我想要刪除剛剛配置的,就可以執(zhí)行以下命令
刪除用戶名
git config --unset user.name
刪除郵箱
git config --unset user.email
2.3 配置全局生效
- 將配置項生效所有倉庫配置項
配置用戶名
git config --global user.name "intshanxi"
配置郵箱
git config --global user.email "intshanxi@163.com"
查看剛剛配置的
git config -l
- 那我想要刪除剛剛配置的,就可以執(zhí)行以下命令~
刪除用戶名
git config --global --unset user.name
刪除郵箱
git config --global --unset user.email
- 接下來我們就往這個倉庫里生成一個文件
touch ReadMe
- 在目前情況下,git是不能管理這個文件的~~
- 我現(xiàn)在往git里添加了一點東西
三、認識工作區(qū)、暫存區(qū)、版本庫
3.1 添加文件場景一
- 我們就來看第一個步驟
git add 文件名
或者只寫一個.
,這個意思就是全部添加
- 我們就來看第二個步驟
git commit -m '要描述的細節(jié)'
- 創(chuàng)建多個文件
touch file1 file2 file3
- 我們還可以用
.
來一鍵添加
3.2 查看添加的文件
- 還可以查看最近提交的日志
git log
- 我們還可以再打印的簡單一點,方便觀察
git log --pretty=oneline
- 查看git日志后,commit后面的一串字符是(安全哈希算法)加密過的文件
- 我們可以通過命令來查看這個具體提交記錄
git cat-file -p fc9176efe2397e38411e1ec44b9f58be6e0cc99f
- 在其中有一行
tree 0e6b1780b73cd9220ec5073dc64b42f7ad4bd945
- 然后再查看一下這個
git cat-file -p 0e6b1780b73cd9220ec5073dc64b42f7ad4bd945
- 繼續(xù)查看文件內容
git cat-file -p 8d0e41234f24b6da002d962a26c2495ea16a425f
3.3 添加文件場景二
git add file4
touch file5
git commit -m 'add file4'
- 這里雖然添加了兩個文件,但是只有
file4
添加到了暫存區(qū),提交修改的時候只有file4發(fā)生了變化,而file5
沒有發(fā)生變化
四、修改文件
-
git其實管理的是修改,而不是文件
-
我們先修改了
ReadMe
4.1 查看工作區(qū)的狀態(tài)
- 我們查看當前工作區(qū)的狀態(tài)
git status
- 那我們想查看修改了哪些內容呢?
git diff 文件名
- 這個時候我們再提交一下
git add ReadMe
- 查看狀態(tài)
git status
- 這個時候就再提交
git commit -m 'add modify ReadMe file'
- 再查看
git status
五、版本回退
-
剛開始文件里的內容只有一行,后來添加了兩行
-
對于這個文件來說是有兩個版本的
-
這里的回退命令是
git reset
可以指定某一次提交的版本 -
git reset 命令語法格式為:
git reset [--soft | --mixed | --hard] [HEAD]
- –mixed 為默認選項,使?時可以不用帶該參數(shù)。該參數(shù)將暫存區(qū)的內容退回為指定提交版本內容,工作區(qū)文件保持不變。
- –soft 參數(shù)對于工作區(qū)和暫存區(qū)的內容都不變,只是將版本庫回退到某個指定版本。
- –hard 參數(shù)將暫存區(qū)與工作區(qū)都退回到指定版本。切記工作區(qū)有未提交的代碼時不要用這個命令,因為工作區(qū)會回滾,你沒有提交的代碼就再也找不回了,所以使用該參數(shù)前一定要慎重。
-
HEAD 說明:
? 可直接寫成 commit id,表示指定退回的版本
? HEAD 表示當前版本
? HEAD^ 上一個版本
? HEAD^^ 上上一個版本
? 以此類推… -
可以使用 ~數(shù)字表示:
? HEAD~0 表示當前版本
? HEAD~1 上一個版本
? HEAD^2 上上一個版本
? 以此類推…
- 查看日志
git log --pretty=oneline
- 回退到最初版本
git reset --hard eea6e0091277b0e3de6739d0cede91333284b6e7
- 可以看到一旦回到這一次,我們后面創(chuàng)建的文件都會被刪除
- 我們再來看文件的內容
cat ReadMe
- 查看日志
git log --pretty=oneline
- 那有人說我又后悔了怎么辦?
- 想要再回退回去
- 我們剛剛打印過這一個最新的版本我們就回退到這個版本
git reset --hard b842e9f3f8a267b0957389abae0dbc159d12fd43
- 我們再來看一下當前目錄下
- 文件回來了,文件里的內容也會來了
- 再來打印這個日志
- 這個log也回來了
git log --pretty=oneline
- 那我回退了最初的版本后,找不到那個字符串了怎么辦?
- 我們還有一種方法
- 查看
git reflog
- 回退版本
git reset --hard b842e9f
- 這樣就可以回退回去了
- 那么這里的版本回退為什么會這么快呢?
- 是因為有一個
HEAD
指針
六、撤銷修改
- 如果我們在我們的工作區(qū)寫了很長時間代碼,越寫越寫不下去,覺得自己寫的實在是垃圾,想恢復到上一個版本。
6.1 情況一:對于工作區(qū)的代碼,還沒有add
- 我們先對ReadMe進行修改
-
我們想撤銷我們的代碼,我們可以重新再次編輯刪除掉那一行代碼,就可以了
-
那寫了很多呢?想一次性撤銷,那怎么辦呢?接下來我們來看~~
-
查看修改了哪些內容
git diff ReadMe
- 想要一次撤銷,我們執(zhí)行以下命令
git checkout -- ReadMe
-
這里的
--
就是回退到最近一次add或者commit的操作 -
我們再次打印,新增的那一行就沒有了
6.2 情況二:已經add ,但沒有commit
- add 后還是保存到了暫存區(qū)呢?怎么撤銷呢?
- 讓我們來回憶一下學過的
git reset
回退命令,該命令如果使用--mixed
參數(shù),可以將暫存區(qū)的內容退回為指定的版本內容,但工作區(qū)文件保持不變。那我們就可以回退下暫存區(qū)的內容了!!!
git reset HEAD ReadMe
HEAD
代表當前版本HEAD^
代表上一個版本HEAD^^
代表上一個版本
- 這個時候再進行情況一的回退
git checkout -- ReadMe
6.3 情況三:已經add ,并且也commit 了
-
我們可以
git reset --hard HEAD^
回退到上一個版本!不過,這是有條件的,就是你還沒有把自己的本地版本庫推送到遠程。還記得Git是分布式版本控制系統(tǒng)嗎?我們后面章節(jié)會講到遠程版本庫,一旦你推送到遠程版本庫,你就真的慘了 -
我們先修改文件,然后添加文件【add】【commit】
-
然后修改
git reset --hard HEAD^
七、刪除文件
- 刪除文件
git rm file
git commit -m '記錄'
我們這里的git基礎操作就到這里了,我們后面還有一些進階操作~~
感謝大家的收看,我們共同進步!!!