GIT及其部分指令介紹(下)

2021-07-22 17:36:34 字數 3042 閱讀 3089

前言:前一節介紹了git如何建立倉庫,並與遠端倉庫進行推送,這章的目的是介紹如何管理(修改與刪除)git倉庫內容,以及介紹分支的概念。

1.檢視版本

使用commit指令後,檔案從暫存區提交到了分支,並生成了乙個版本庫。

版本庫:類似於遊戲存檔,commit一次後產生乙個新的版本。同樣我們可以退回之前的版本(存檔點)。

檢視版本及歷史記錄(git log指令)

commit黃字後面的字串是版本號;

merge指的是改版本與merge提示的版本合併(後面會解釋merge);

author和date顯而易見;

最後那行字是commit指令的提示;

按q退出git log。

如果覺得git log指令資訊太複雜,可以用git log –pretty=oneline指令:

這樣版本資訊和提示就顯而易見了,方便後續操作。

2.版本回退

在git中,head表示當前版本(最新版本),而上乙個版本是head^,上上個版本是head^^,依次類推。跳轉到上100個版本時,顯然用^不方便,可以使用head~100替代。

如果要回到某個版本(比如上乙個版本),可以使用head^來跳轉,也可以使用版本號來跳轉。

由圖看到上個版本版本號為1eb93fc61……,那麼回退到上個版本的方式為:git reset –hard leb93fc;(其中leb93fc為版本號的前幾位,也可以用head^代替)。

回退到上乙個版本後:

3.版本回溯

回退版本後固然可以刪除掉之前的修改,但是如果是錯誤操作,把最新的版本給回退了,git log指令無法找到那個版本,就無法恢復。這時使用git reflog指令進行版本回溯檢視。

使用git reset指令回退版本前,最新的版本是3239cee,而回退後,最新的版本是1eb93fc,

使用git log檢視版本時如下圖第1步;

使用git relog檢視是如第1、2、3步:

使用git reflog找到被回退的版本號後,再使用git reset指令便可回溯。

刪除檔案指令: git rm 檔名;改指令不需要commit,也不會生成新版本,如果想撤回刪除,回退到當前版本就行了。

如果工作區誤刪了某個檔案,或者修改檔案的時候對修改不滿意想要回溯到之前的樣子,用git checkout – 檔名 指令;可以把改檔案恢復成最近乙個git add 或者 commit 時候的樣子。(即用暫存區/當前分支的該檔案替換工作區的檔案)。

1.為什麼會出現分支?

git一般用於合作開發專案了,而git的主幹分支叫:master。如果在合作的過程中,每個人都在master分支commit自己的部分,甚至有的人直接把自己的git倉庫覆蓋遠端公共倉庫的master分支,那麼最終該分支會變的亂七八糟不好整理。

所以master分支一般是由專案負責人來負責,而其他人則建立自己的分支來上傳和修改檔案。

建立分支:git branch 分支名;

切換分支:git checkout 分支名;

建立並切換到分支:git checkout -b 分支名;

建立遠端分支只要push本地分支:git push origin 分支名;

檢視本地分支:git branch;

檢視遠端分支:git branch -a。

2.分支合併

分支被建立時,分支內容和master分支一樣。使用者在自己的分支上修改檔案,然後上傳到遠端倉庫分支。管理員則通過分支合併,把使用者分支的修改內容合併到master分支上。

合併指定分支到當前分支:git merge 指定的分支名。

3.衝突

此時readme.txt變為:

git用<<<<<<>>>>>>標記出不同分支的內容,需要自己在工作區做出修改,然後再add以及commit。

4.本地獲取遠端倉庫更新內容1.指令集合:

檢視歷史版本:git log

檢視精簡歷史版本:git log

--pretty=oneline

回退到某個版本:git reset --hard 版本號/head

檢視歷史版本(包括回退前的版本):git reflog

刪除檔案:git rm 檔名

工作區檔案回溯到最近一次add/commit時:git checkout -- 檔名

建立分支:git branch 分支名

切換分支:git checkout 分支名

建立並切換到分支:git checkout -b 分支名

建立遠端分支:git push origin 本地分支名

檢視本地分支:git branch

檢視遠端分支:git branch -a

合併指定分支到當前分支:git merge 指定的分支名

本地獲取遠端倉庫更新內容:git fetch

本地獲取指定遠端倉庫更新:git fetch origin 分支名

2.總結:

linux部分指令

一.進入目錄需要哪些許可權,在目錄中執行增刪查 cd,touch,ls,rm,mv等 改檔案動作,需要哪些許可權.1.進入目錄需要那些許可權 r 讀許可權 w 寫許可權 x 執行許可權 其次可以通過chmod來增刪許可權,其指令如下 chmod u g o a r w x 建立乙個目錄,來驗證一下許...

LINUX部分指令

本人第一次對自己所學的命令總結,如有錯誤歡迎指出。ctrl c 停止當前執行的命令 permission denied 沒有許可權 root localhost 其中root表示當前使用者是管理員賬戶,localhost表示主機名,表示管理員 su使用者名稱 表示切換使用者。例如su root 選項...

彙編部分部分指令

cbw 位元組轉換為字指令執行的操作 al的內容擴充套件到ah,形成ax中的字。int xxh int 21h 呼叫 int 21h 中斷,百返回值放在 al暫存器中從鍵盤輸入,並以16進製制儲存通過給ah暫存器賦值,然後呼叫int 21h指令,計算機就會根據ah暫存器度中的版值執行相應的操作,權其...