git 幾種還原版本 半小時學會使用Git(一)

2021-10-14 12:16:36 字數 3471 閱讀 1464

關於git和github,相信凡是工作或者學習跟程式設計擦了點邊的人,都早已經耳熟能詳。即便不用,但肯定會聽人提起,而且一旦被人提起,那多半就是會被交口稱讚的。不巧的是,我就是乙個對程式設計有點興趣,喜歡自己鼓搗程式設計,另外也曾多次聽人說到過svn、git的大名。

按照我的慣例,今天這篇文章的背景可以總結為乙個現在處於並將長期處於初學狀態的非科班碼農輕鬆學會git的基本使用後記錄下來的心得體會……嗯,大概就是這樣。當你往下讀之前,我有必要強調一下,本文記錄的都是基本使用,高大上的用法我也還在摸索中……

本著初學者何必為難初學者的人道主義,你們要是已經會一些基本使用方法了,現在就可以關掉本文,沒必要再多浪費時間。

閒話嘮完,正文走起。

作為半小時學會使用git(一),本文只會講前三個部分的內容。

一、簡介

git,很多人都知道它是一種分布式版本控制系統。簡單來說,就是我們寫文章時,每一次潤色修改都可以算作乙個版本,而通過git,我們就不必辛苦地將每乙個版本都另外為副本

一、副本二……git會幫助我們記住每乙個版本,我們只需要一些簡單的命令,就能實現版本回退。以上算是講解了版本控制這四個字,那麼分布式又是個什麼東西呢?

提到分布式,就不得不與集中式對照著來說了。

下面就以公司開發軟體為例大概介紹一下。

先說集中式版本控制系統,版本庫是集中存放在**伺服器的,而幹活的時候,用的都是自己的電腦,所以要先從**伺服器取得最新的版本,然後開始幹活,幹完活了,再把自己的活推送給**伺服器。**伺服器就好比是乙個圖書館,你要改一本書,必須先從圖書館借出來,然後回到家自己改,改完了,再放回圖書館。很顯然,你把這本書借出來的時候,其他人就借不到了。

而分布式版本控制系統根本沒有「**伺服器」,每個人的電腦上都是乙個完整的版本庫,這樣,你工作的時候,就不需要聯網了,因為版本庫就在你自己的電腦上。既然每個人電腦上都有乙個完整的版本庫,那多個人如何協作呢?比方說你在自己電腦上改了檔案a,你的同事也在他的電腦上改了檔案a,這時,你們倆之間只需把各自的修改推送給對方,就可以互相看到對方的修改了。【此段論述摘自廖雪峰老師的官方**】

以上大概就是兩種版本控制系統的模式,集中式中最如雷貫耳的自然就是svn了……只不過現在感覺還是git的使用受眾更多更廣。而關於兩種模式其他方面諸如速度、安全性等區別,我由於沒有使用,自然也就沒有體驗,就不在這裡多說了。

二、windows安裝git

概念總是枯燥乏味的,所以接下來,我們直接進入實操吧。

出現這頁面,就很親切了對吧……

不過別著急,我們還是需要檢驗一下安裝成功與否:開始選單中能找到並開啟git bash,恭喜你,已經成功安裝了。

最後一步,也就是初始配置了。簡單起見,我們只做必要的姓名和郵箱配置。

unix的哲學就是「沒有訊息就是好訊息」,所以若是執行完沒有資訊出來,不要大驚小怪,這起碼說明它暫時還能和你做好朋友-_-|||

三、建立版本庫

本文的重頭戲,就是建立本地的版本庫了。

版本庫,英文名叫repository,一般也叫倉庫,是本地儲存所有修改記錄的那麼乙個地方、乙個路徑或是乙個目錄。這個目錄裡面的所有檔案都可以被git管理,每個檔案的修改、刪除都能被跟蹤,以便在任何你腦子發抽的時候都能追蹤歷史,或者將其還原……

好了,現在就開始建立吧。

第一步,建立目錄:mkdir dirname(強烈建議選擇無中文路徑,尤其是在windows環境下)

我的步驟是先切換到想要建立倉庫的目錄下:cd d://documents……

然後檢視當前所處路徑:pwd

確認過後建立目錄:mkdir py2048

第二步:初始化

進入目錄:cd ./py2048

初始化(可理解為將該目錄變成git可以管理的倉庫):git init

當看到如上圖所示的提示資訊時,就表示初始化成功。

第三步,新增檔案

倉庫建立好了,自然就得存東西啊。

新增該檔案到暫存區:git add readme.txt

可使用命令檢視該檔案內容:cat readme.txt

可以看到,檔案內容顯示不完全,這一點我開始也是懵逼的,以為是編碼問題,但是換了幾種編碼格式依舊如此……最後,我才發現是windows的記事本有毒,換用notepad++新建乙個同樣的文字檔案,顯示就毫無問題。

到這裡,我們只是將檔案儲存到了暫存區,並沒存到版本庫。接下來自然是讓這份檔案存進版本庫方便管理:

git commit -m "add readme.txt and readme2.txt "

-m "message"這是對這一次提交的說明。

至此,就將兩份檔案提交到了版本庫了。

這篇文章到此為止,不過既然上面提到了暫存區和版本庫,我就在文末簡單說一下git中工作區、暫存區和版本庫這三個名詞的概念。

這張圖最清楚明了了。

當我們用git init命令初始化後,在目錄下會出現乙個.git的隱藏目錄,這個隱藏目錄其實就是我們常說的版本庫。版本庫和工作區是同等地位的,所以說.git隱藏目錄的同級目錄就是工作區,工作區就是我們修改檔案的目錄。而版本庫又可以分為stage和master,stage就是暫存區,git add命令就是將檔案儲存到stage中,而master則是自動建立的第乙個分支,我喜歡叫它主分支,它則是儲存每次修改過後定檔的檔案。

半小時學會使用Git(三)

這是半小時學會使用git的第三篇文,也是最後一篇。本系列文章只著眼於git的日常使用場景,若是有小夥伴想要好好研究git,本系列文可能幫不到你。本文主要記錄使用git的過程中比較常用的兩個場景 分支管理和標籤管理。我們已經知道head指標所指向的分支,就是我們現在正處於的分支。分支是為了解決多人協作...

git 還原版本

reset命令有3種方式 git reset mixed 此為預設方式,不帶任何引數的git reset,即時這種方式,它回退到某個版本,只保留原始碼,回退commit和index資訊 git reset soft 回退到某個版本,只回退了commit的資訊,不會恢復到index file一級。如果...

git 幾種還原版本 如何在Git中撤消提交

大多數人都不知道軟體開發人員的生命會是多麼危險 您可以刪除錯誤的檔案,將 編碼到完全錯誤的方向,或者一次提交就弄亂整個專案。因此,我發現在出現問題時,多次擁有強大的安全網非常寶貴。使用git作為版本控制系統,您將擁有這樣的安全網 確實是乙個非常強大的網路。在本文中,我將向您簡要介紹git如何幫助您消...