Git詳解使用教程


 

一. 什么是Git

Git(讀音為/gɪt/)。是一個開源的 分布式版本控制系統,可以有效、高速地處理從很小到非常大的項目版本管理。
Git 是 Linus Torvalds 為了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟件。

二.安裝Git

1.由於官網下載速度很慢,我這里直接貼出來百度網盤下載地址,下載后得到需要的Git安裝文件。
在這里插入圖片描述
2.雙擊安裝程序,現在我們對Git還沒有深入了解,所以直接一路點擊下一步,全部按照默認配置安裝。
3.安裝完成后開始菜單中找到Git Bash點開。
在這里插入圖片描述

三、使用Git — 設置使用者的信息

4.出現Git Bash窗口即代表我們安裝成功了。
在這里插入圖片描述
5.因為Git是分布式版本控制系統,所以需要綁定一個用戶名和郵箱;以后我們每次提交代碼都是用自己的用戶提交的,這樣就達到了在公司中,分辨多個開發人員提交的代碼。
輸入運行兩條命令設置用戶名和郵箱,設置一次就可以了:① git config --global user.name "自定義的用戶名", ② git config --global user.email "12345678@qq.com" , 如下:
在這里插入圖片描述
6.沒報錯就說明成功了,如果想要查詢當前的用戶名和郵箱,可以使用git config user.name, git config user.email兩條命令。
在這里插入圖片描述
7.如果想要取消掉當前的用戶重新設置新的用戶名和郵箱可以使用git config --global --unset user.name "想要取消的用戶名"git config --global --unset user.email "想要取消的郵箱"這兩條命令進行取消,然后再通過步驟5重新設置用戶名和郵箱。
在這里插入圖片描述

四、使用Git — 創建本地庫

補充知識:版本庫又名倉庫,英文名repository,你可以簡單的理解為一個目錄,這個目錄里面的所有文件都可以被Git管理起來,每個文件的修改,刪除,Git都能跟蹤,以便任何時刻都可以追蹤歷史,或者在將來某個時刻還可以將文件”還原”;這也是Git的強大之處。
8.創建一個目錄, 進入該目錄
在Linux下能用的文件操作命令,這里基本也都可以使用;cd d:移動到d:盤下,創建一個目錄,我這里叫做firstRepo,通過mkdir firstRepo命令。
在這里插入圖片描述
9.通過git init命令將這個文件夾變成一個本地的倉庫,以后就可以通過Git管理這個本地倉庫了。
在這里插入圖片描述
這時候我們發現當前目錄下會多了一個.git的目錄,這個目錄是Git來跟蹤管理版本的,除非你明確知道自己在干什么,否則最好不要動這個目錄里面的文件。
在這里插入圖片描述
補充知識:所有的版本控制系統,都能跟蹤文本文件的改動,比如txt文件,網頁,所有程序的代碼等,Git也不列外,版本控制系統可以告訴你每次的改動,但是圖片,視頻這些二進制文件,雖能也能由版本控制系統管理,但沒法跟蹤文件的變化,只能把二進制文件每次改動記錄下來,也就是知道圖片從1kb變成2kb,但是到底改了什么,版本控制也不知道。

五、使用Git — 文件入庫

10.把文件添加到版本庫
第一步: 在當前目錄下創建一個文件,我這里創建一個readme.txt文件,並寫入一行內容,我寫入的是aaaaa這是第一行
在這里插入圖片描述
第二步: 通過命令git status查看當前倉庫文件的狀態。
在這里插入圖片描述
我們可以看到,在master分支上有一個沒有跟蹤的文件readme.txt,這就是因為我們創建之后寫了第一行之后沒有添加到暫存區
補充知識:工作區,就是在電腦里能看到的目錄,暫存區,英文名叫stage,或者index,一般存放在.git/index中,所以我們把暫存區也叫做索引;版本庫,工作區有一個隱藏目錄.git這個不算工作區,是Git的版本庫。

第三步: 使用git add readme.txt命令把readme.txt文件加入到暫存區。再使用git commit -m "第一次提交readme.txt"把readme.txt從暫存區提交到版本庫。
在這里插入圖片描述
從紅色框中我們可以看到一個文件更改了,就是readme.txt。

第四步: 我們再通過git status看一下當前工作區的狀態
在這里插入圖片描述
我們可以看到,沒什么可以做的了。

繼續更改readme.txt內容,在之前的基礎之上增加一行22222222內容,繼續使用git status查看。
在這里插入圖片描述
從圖中可以看到新修改了但是沒有staged就是沒有存入暫存區。

11.我們想看一下readme.txt到底改了什么內容,可以使用git diff readme.txt在這里插入圖片描述
從這里我們可以詳細看到有哪些內容變動了。
清楚了被改動的地方,我們可以放心的提交到版本庫了,使用git add readme.txtgit commit -m " 增加了一行2222"兩條命令。

六、使用Git — 版本回退

通過上面,我們清楚了怎么修改文件並且再保存了,現在對readme.txt再繼續進行修改,再增加一行內容為33333,繼續執行上面的命令添加到版本庫。
在這里插入圖片描述
現在我們對readme.txt總共已經進行了幾次次修改,想要查看一下歷史記錄該怎么查?

12.使用命令git log查看歷史版本記錄
在這里插入圖片描述
13.還可以按照每一次版本變更為一行內容進行顯示,使用命令git log --pretty=oneline
在這里插入圖片描述

現在我需要版本回退,想把當前的版本回退到上一個版本,可以使用如下兩種命令:
git reset --hard HEAD^回到上一個版本,git reset --hard HEAD^^回退到上上一個版本,以此類推;
② 如果回退到前50個版本的話,使用方法①就顯得不太明智了,我們可以使用簡便命令操作:git reset --hard HEAD~50就可以了。
當前readme.txt文件內容如下:(使用Linux中的cat方法可以查看)
在這里插入圖片描述
執行git reset --hard HEAD^命令回到上一版本,然后再通過cat查看:在這里插入圖片描述
我這里已經成功回到了上一版本了,我這里上一版本是最開始的空文件,是因為中間的幾次更改我一邊寫帖子一邊操作忘記添加到版本庫了。

14.我們現在又想回到剛才回退之前的最新版本了,但是使用git log --pretty=oneline查看的是比當前老的版本,我們只能通過git reflog來查看比當前新的版本, 這時候我們看每一行都有一串黃色的字符,這個是每次的版本號
在這里插入圖片描述
可以看到增加3333這一行對應的版本號,我們還可以通過git reset --hard 版本號到達指定版本號。
在這里插入圖片描述
在這里插入圖片描述
按照版本號恢復之后,我們通過cat查看,可以看到是最新的版本了。

小結一下: git add把文件添加到暫存區 ; git commit提交更改到當前分支上;master是一個分支,前面的HEAD是master分支的名稱。


我們現在再在readme.txt文件中添加一行內容為444444444,同時再新建一個文件test.txt內容testing, 先用命令git status查看一下狀態,如下:
在這里插入圖片描述
15.先使用git add命令把2個文件都添加到暫存區,再使用git status來查看狀態:
在這里插入圖片描述
再使用git commit一次性提交到分支上,如下:
在這里插入圖片描述

七、使用Git — 撤銷修改和刪除文件

16.撤銷修改
先在readme.txt文件中增加一行55555555555,通過命令查看:
在這里插入圖片描述
這時候我發現我新增加的555555內容有問題,我必須馬上恢復以前的版本,現在可以采取的操作有:
① 如果知道要刪掉的內容,直接可以手動去改掉,然后重新add並commit即可。
② 也可以按照前面版本回退的方法直接恢復到上一個版本。git reset --hard HEAD^
這時候我們還有第三種方法,先看一下當前狀態:
在這里插入圖片描述
這個時候我們發現紅線內告訴我們了說使用git checkout -- file可以丟棄工作區的修改,如下:
在這里插入圖片描述
我們來解釋一下git checkout -- readme.txt這個命令:
① readme.txt自從修改之后還沒放到暫存區,使用撤銷修改就回到了和版本庫一模一樣的狀態了。
② 另一種就是readme.txt已經放入暫存區看,接着又作了修改,撤銷修改之后就回到了添加暫存區后的狀態。
上面撤銷55555就是情況①
對於第②種情況,我們對readme.txt添加一行內容為66666666666,接着git add添加到暫存區后,再添加內容77777,想通過撤銷命令讓其回到暫存區后的狀態。如下:在這里插入圖片描述
這里要注意了,命令git checkout -- readme.txt中的 --不能省略,不然變成創建分支的命令了。

17.刪除文件
現在在暫存區中增加b.txt文件,然后提交,再執行rm b.txt刪除工作區的b.txt如下:在這里插入圖片描述
我們可以打開文件夾看到,b.txt已經不在工作區了。在這里插入圖片描述

現在我們只是把b.txt從工作區中刪掉了,但是前面我們已經把當前狀態同步到了版本庫了,注意這句話的表達方式,我為什么沒說是把b.txt提交到版本庫了,而是講當前狀態同步;

選擇① 執行commit(commit有交托給的意思,可以品味一下這個命令的真正意義)命令,把當前狀態提交到版本庫,這樣當前狀態就會同步至版本庫,版本庫內的b.txt就會被刪掉。

選擇② 在我們沒有commit之前,從版本庫中恢復此文件下來:
可以使用git checkout -- b.txt
在這里插入圖片描述
這時候我們可以看一下工作區的b.txt又回來了,如下:
在這里插入圖片描述

下一步就是使用Git連接遠程倉庫GitHub了。

請移步至我的另一篇博客Git命令行管理GitHub遠程倉庫詳解

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM