Git常用操作命令有哪些

本篇內(nèi)容介紹了“Git常用操作命令有哪些”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

創(chuàng)新互聯(lián)公司是一家專業(yè)提供臨渭區(qū)企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、html5、小程序制作等業(yè)務(wù)。10年已為臨渭區(qū)眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。

一、Git 概念

Git 是一個(gè)開源的分布式版本控制系統(tǒng),用于敏捷高效地處理任何或小或大的項(xiàng)目,是目前最流行的一個(gè)版本管理工具。

二、SVN與Git的最主要的區(qū)別

SVN是集中式版本控制系統(tǒng),版本庫是集中放在中央服務(wù)器的,而干活的時(shí)候,用的都是自己的電腦,所以首先要從中央服務(wù)器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服務(wù)器。集中式版本控制系統(tǒng)是必須聯(lián)網(wǎng)才能工作,如果在局域網(wǎng)還可以,帶寬夠大,速度夠快,如果在互聯(lián)網(wǎng)下,如果網(wǎng)速慢的話,就納悶了。

Git是分布式版本控制系統(tǒng),那么它就沒有中央服務(wù)器的,每個(gè)人的電腦就是一個(gè)完整的版本庫,這樣,工作的時(shí)候就不需要聯(lián)網(wǎng)了,因?yàn)榘姹径际窃谧约旱碾娔X上。既然每個(gè)人的電腦都有一個(gè)完整的版本庫,那多個(gè)人如何協(xié)作呢?比如說自己在電腦上改了文件A,其他人也在電腦上改了文件A,這時(shí),你們兩之間只需把各自的修改推送給對(duì)方,就可以互相看到對(duì)方的修改了。

三、Windows 上安裝 Git

最早Git是在Linux上開發(fā)的,很長一段時(shí)間內(nèi),Git也只能在Linux和Unix系統(tǒng)上跑。不過,慢慢地有人把它移植到了Windows上?,F(xiàn)在,Git可以在Linux、Unix、Mac和Windows這幾大平臺(tái)上正常運(yùn)行了。

1. 下載Git

要使用Git,第一步當(dāng)然是安裝Git了。從 https://git-for-windows.github.io下載(網(wǎng)速慢的請(qǐng)移步國內(nèi)鏡像),然后按默認(rèn)選項(xiàng)安裝即可。

2. 安裝步驟

下載完成后,打開進(jìn)行安裝

3. 安裝成功

接下來就只需要靜靜的等待安裝完成了,完成以后在桌面或者任意文件夾的空白位置右鍵,出現(xiàn)下圖所示的兩個(gè)菜單欄即表示安裝成功。

4. 設(shè)置

安裝完之后會(huì)彈出一個(gè)命令框,我們還需要做最后一步操作,設(shè)置標(biāo)識(shí)符。由于 git 是分布式管理工具,所以需要設(shè)置用戶名和郵箱作為標(biāo)識(shí)。在彈出框中輸入下面代碼即可。

git config --global user.name "Your Name"git config --global user.email "email@example.com"

注意:git config --global 參數(shù),有了這個(gè)參數(shù),表示你這臺(tái)機(jī)器上所有的Git倉庫都會(huì)使用這個(gè)配置,當(dāng)然你也可以對(duì)某個(gè)倉庫指定的不同的用戶名和郵箱。

四、GIt 常用命令解析

1. 初始化

對(duì) Git 進(jìn)行操作之前你得先創(chuàng)建一個(gè) Git 倉庫,在你需要的位置創(chuàng)建一個(gè)空文件夾即可。然后進(jìn)入該文件夾,然后右擊空白處,點(diǎn)擊 Git Bash Here 對(duì)當(dāng)前文件夾進(jìn)行 Git 的操作。

  • 初始化命令

git init
  • 常用命令

cd:進(jìn)入某個(gè)目錄
mkdir:創(chuàng)建一個(gè)文件
pwd:顯示當(dāng)前的目錄路徑
鼠標(biāo)選中就是復(fù)制,粘貼可以右鍵粘貼,也可以用使用快捷鍵:Shift+INS

2. 添加文件到版本庫

2.1 添加到暫存區(qū)
  1. 在根目錄新建了一個(gè) a.txt 文件,內(nèi)容為 aaa;

  2. 使用下面命令把 a.txt 文件添加到暫存區(qū)

  • 添加到暫存區(qū)命令

git add a.txt
  • 添加當(dāng)前根目錄下的所有文件到暫存區(qū)

git add .
2.2 提交到倉庫
  1. 使用下面命令把暫存區(qū)的文件提交到版本庫

git commit -m "雙引號(hào)里面是注釋——你的提交說明"
2.3 為什么 Git 添加文件需要 add、commit 兩個(gè)步驟呢?

原因commit可以一次提交很多文件,所以你可以多次add不同的文件

例如

git add file1.txt					
#單個(gè)添加文件到暫存區(qū)git add file2.txt file3.txt			
#多個(gè)添加文件到暫存區(qū)git add .   						
#添加當(dāng)前文件夾下所有文件到暫存區(qū)git commit -m "add 3 files."		
#提交所有暫存區(qū)的文件

3 查看文件狀態(tài)(檢查是否有未提交文件)

3.1 狀態(tài)一

使用下面命令檢查當(dāng)前文件狀態(tài)

git status


結(jié)果:沒有需要提交的文件了;

3.2 狀態(tài)二

創(chuàng)建一個(gè)新的文件 b.txt,內(nèi)容為 bbb,再來檢查文件狀態(tài)

結(jié)果:存在未跟蹤文件沒有添加到暫存區(qū)和提交到版本庫;

3.3 狀態(tài)三

添加 b.txt 到暫存區(qū)之后,再來檢查文件狀態(tài)

結(jié)果:暫存區(qū)中有一個(gè)新的 b.txt 文件沒有添加到版本庫中;

3.4 狀態(tài)四

提交 b.txt 到版本庫之后,然后把 b.txt 內(nèi)容從 bbb 修改為 bbba,再來檢查文件狀態(tài)

結(jié)果:被改變的文件 b.txt 沒有添加到暫存區(qū)且沒有提交

4. 查看提交歷史

4.1 先把前面修改的 b.txt 文件添加并提交
git add b.txtgit commit -m "提交修改的 b.txt 文件"
4.2 查看歷史
  1. 到目前為止我們一共進(jìn)行了3次操作,提交 a 和 b,以及修改 b,查看歷史命令如下

git log


注意使用上面命令信息多的話會(huì)進(jìn)入 log 模式,想要退出,在英文輸入法的前提下按 q 就可以退出了

  1. 如上圖所示,每次提交都有版本號(hào),時(shí)間等信息,這樣看起來比較亂,出現(xiàn)的信息太多,看的眼花,我們可以使用下面命令得到精簡版的日志記錄,讓歷史記錄一行顯示

git log --pretty=oneline
  1. 可以對(duì)想要查看的歷史日志進(jìn)行約束,比如想看最近提交的一條歷史日志信息

git log -1
4.3 查看提交歷史命令總結(jié)
git log						
#查看全部歷史提交記錄git log --pretty=oneline	#精簡顯示所有歷史提交記錄git reflog					
#可以查看所有分支的所有操作記錄(包括已經(jīng)被刪除的 commit 記錄和 reset 的操作)git log -p					
#查看全部提交歷史并展示每次修改的內(nèi)容git log -2					
#查看最近2次提交歷史(注意:后面的數(shù)字是可以自定義的,也就是說,這種寫法是 git log -n 的體現(xiàn))git log -p -2				
#查看最近2次提交歷史并展示修改的內(nèi)容git log --stat				
#查看提交歷史,并展示摘要內(nèi)容(摘要會(huì)列出修改的文件以及每個(gè)文件中修改了多少行)

5. 版本回退與恢復(fù)

5.1 回退到上一個(gè)版本或上幾個(gè)版本
  1. 首先,Git必須知道當(dāng)前版本是哪個(gè)版本,在Git中,用HEAD表示當(dāng)前版本,上一個(gè)版本就是HEAD^,上上一個(gè)版本就是HEAD^^,當(dāng)然往上100個(gè)版本寫100個(gè)^比較容易數(shù)不過來,所以寫成HEAD~100

git reset --hard HEAD^
  1. 查看回退后的歷史版本信息

    結(jié)果:從歷史版本信息我們可以看出,我們已經(jīng)從 “修改 b.txt” 回退到了 “提交 b.txt”,回退之后的當(dāng)前版本為 “提交 b.txt”

5.2 回退到指定版本
  1. 我們直接復(fù)制想要回退位置的版本號(hào),使用下面代碼就可以回退到復(fù)制的版本號(hào)的位置了

git reset --hard <想要回退的版本號(hào)>
  1. 例如:我復(fù)制 “提交 a.txt 文件” 的版本號(hào)

git reset --hard 6ec9373d22d1a869b67681a39dc04df34292133b


結(jié)果:從查看的歷史版本結(jié)果可以看出我們回退到了 “提交 a.txt” 版本

5.3 恢復(fù)回退的版本
  1. 有時(shí)候我們回退了版本后反悔了,想要返回到回退版本之前,這時(shí)我們就需要找到之前的 commit id,但是從上面的查看歷史版本命令可以看出,我們找不到之前的 commit id 了,于是我們可以使用下面命令

git reflog

結(jié)果:reflog 可以查看所有分支的所有操作記錄(包括已經(jīng)被刪除的 commit 記錄和 reset 的操作)

  1. 假設(shè)我們想回退到 “提交修改的 b.txt 文件” 的位置上,也就是歷史版本信息的倒數(shù)第三行,我們只需要復(fù)制 HEAD 前面的 7a42e7b,然后使用下面命令就可以了

git reset --hard 7a42e7b

結(jié)果:歷史版本信息可以看出我們已經(jīng)回退到了我們想要的版本

6. 查看不同版本的差異

  1. 當(dāng)我們們修改完代碼之后沒有添加到暫存區(qū)提交,第二天我們忘記了昨天改了什么代碼,這是我們就可以按下面步驟來看不同版本之間的差異;

例如:我們把 b.txt 文件內(nèi)容修改為為 bbbaaa,然后用下面代碼查看,可以看出我們修改了什么

git diff		# 查看不同版本之間的文件差異

7. 修改與撤銷

7.1 修改文件

推薦使用:第一次修改 -> git add -> 第二次修改 -> git add -> git commit

注意:建議每次 commit 之前先檢查是否有文件沒有被 add

7.2 撤銷修改
git checkout -- filename

git checkout -- filename可以丟棄工作區(qū)的修改:– 后面是一個(gè)空格

命令 git checkout -- readme.txt 意思就是,把 readme.txt 文件在工作區(qū)的修改全部撤銷,這里有兩種情況:
一:readme.txt 自修改后還沒有被放到暫存區(qū)(git add),現(xiàn)在,撤銷修改就回到和版本庫一模一樣的狀態(tài);
二:readme.txt 已經(jīng)添加到暫存區(qū)后,又作了修改,現(xiàn)在,撤銷修改就回到添加到暫存區(qū)后的狀態(tài)。

總之,就是讓這個(gè)文件回到最近一次 git commitgit add 時(shí)的狀態(tài)。

注意git checkout -- file 命令中的 -- 很重要,沒有 -- ,就變成了**“切換到另一個(gè)分支”**的命令,我們?cè)诤竺娴姆种Ч芾碇袝?huì)再次遇到 git checkout 命令

8. 刪除文件/緩存

8.1 使用 rm 命令刪除文件

通常直接在文件管理器中把沒用的文件刪了,或者用rm命令刪除,例如:刪除 b.txt

git rm b.txt

刪除步驟

  • rm 刪除文件

  • rm 刪除后會(huì)自動(dòng)添加到暫存區(qū),省略了手動(dòng) add 命令

  • 最后進(jìn)行 commit 提交,文件被刪除

    注意:刪除步驟可以通過 reset 撤銷操作撤回

8.2 刪除緩存區(qū)
git rm b.txt --cached

b.txt 處于未跟蹤狀態(tài),也就是從暫存區(qū)刪除。

特別說明:處于未跟蹤狀態(tài)只是沒有存在于暫存區(qū),歷史提交記錄中的記錄依然存在。

8.3 清空緩存

所謂的暫存區(qū)僅僅是.git目錄下的一個(gè)index文件罷了,這也是為了什么被稱為index(索引),當(dāng)刪除暫存區(qū)內(nèi)容的時(shí)候,其實(shí)就是刪除index文件中的內(nèi)容,.git/objects目錄中的內(nèi)容不會(huì)被刪除。

rm .git/index

9. 分支管理

9.1 分支操作命令
git branch						
#查看分支 git branch <name>				
#創(chuàng)建分支git checkout <name>				
#切換分支git checkout -b <name>			
#創(chuàng)建 + 切換分支git merge <name>				
#將某分支合并到當(dāng)前分支git branch -d <name>			
#刪除分支

五、Git 命令整合

1. 設(shè)置全局用戶名和郵箱

命令作用
git config --global user.name “Your Name”設(shè)置用戶名
git config --global user.email “email@example.com”設(shè)置郵箱

2. 初始化命令

命令作用
git init初始化 git,創(chuàng)建 .git 文件

3. 常用命令

命令作用
cd進(jìn)入某個(gè)目錄
mkdir創(chuàng)建一個(gè)文件
pwd顯示當(dāng)前的目錄路徑
鼠標(biāo)選中就是復(fù)制復(fù)制
直接鼠標(biāo)右鍵粘貼 / 快捷鍵:Shift+INS粘貼

4. 添加到暫存區(qū)

命令作用
git add a.txt添加 a.txt 到暫存區(qū)
git add .添加當(dāng)前根目錄下的所有文件到暫存區(qū)
git commit -m “雙引號(hào)里面是注釋——你的提交說明”把暫存區(qū)的文件提交到版本庫(一次全部提交)

5. 查看文件狀態(tài)

命令作用
git status查看文件狀態(tài)(檢查是否有未提交文件)

6. 查看提交歷史

命令作用
git log查看全部歷史提交記錄
git log --pretty=oneline精簡顯示所有歷史提交記錄
git reflog可以查看所有分支的所有操作記錄(包括已經(jīng)被刪除的 commit 記錄和 reset 的操作)
git log -p查看全部提交歷史并展示每次修改的內(nèi)容
git log -2查看最近2次提交歷史(注意:后面的數(shù)字是可以自定義的,也就是說,這種寫法是 git log -n 的體現(xiàn))
git log -p -2查看最近2次提交歷史并展示修改的內(nèi)容
git log --stat查看提交歷史,并展示摘要內(nèi)容(摘要會(huì)列出修改的文件以及每個(gè)文件中修改了多少行)

7. 版本回退與恢復(fù)

命令作用
git reset --hard HEAD^回退到上一個(gè)版本
git reset --hard HEAD~N(不是-,是波浪線)回退到上N個(gè)版本
git reset --hard <想要回退的版本號(hào)>回退到指定版本
git reflog 和 git reset --hard <想要回退的版本號(hào)>合并使用恢復(fù)回退的版本

8. 查看不同版本的差異

命令作用
git diff查看不同版本之間的文件差異

9. 撤銷修改

命令作用
git checkout – b.txt一:readme.txt 自修改后還沒有被放到暫存區(qū)(git add),現(xiàn)在,撤銷修改就回到和版本庫一模一樣的狀態(tài);
二:readme.txt 已經(jīng)添加到暫存區(qū)后,又作了修改,現(xiàn)在,撤銷修改就回到添加到暫存區(qū)后的狀態(tài)。

10. 刪除

命令作用
git rm b.txtrm 刪除文件
rm 刪除后會(huì)自動(dòng)添加到暫存區(qū),省略了手動(dòng) add 命令
最后進(jìn)行 commit 提交,文件被刪除
git rm b.txt --cached刪除緩存區(qū)單個(gè)文件,b.txt 處于未跟蹤狀態(tài),也就是從暫存區(qū)刪除
rm .git/index清空所有緩存

11. 分支管理

命令作用
git branch查看分支
git branch創(chuàng)建分支
git checkout切換分支
git checkout -b創(chuàng)建 + 切換到新分支
git merge將某分支合并到當(dāng)前分支
git branch -d刪除分支

“Git常用操作命令有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

當(dāng)前標(biāo)題:Git常用操作命令有哪些
標(biāo)題網(wǎng)址:http://muchs.cn/article22/piosjc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)外貿(mào)建站、商城網(wǎng)站外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)