1. 程式人生 > >[轉載]玩轉git,讓git成為個人工作備份利器

[轉載]玩轉git,讓git成為個人工作備份利器

前言

不要把這篇文章當做給程式設計人員的技術文章,即使你對程式設計一無所知,按照這篇文章的指引一步步學習,仔細模仿,也可以很容易地學會如何去做。更重要的 是,這篇文章將讓你介紹如何讓git成為你的工作日誌,成為你的備份工具,成為你的專案管理軟體。沒錯,git讓這一切變得如此簡單。

背景

什麼叫版本控制系統呢?

我們來舉個例子。比如說,你要寫個商業策劃書,經過幾天熬夜,總算在2012-01-01寫了一個初稿 proposal.doc。又經過兩天的奮戰,你對之前的文件做了更深入的細化,於是把之前的檔案改名成了 proposal- 2012-01-01.doc 作為備份。後來經過你和老闆的激烈討論,並對文件反覆修改,終於在2012-01-09把第7版交給了老闆,算是完成了這份工作。回頭看看當前的工作檔案 夾,呵,充滿了名為 proposal-2012-01-01.doc,proposal-2012-01-03.doc。。。proposal- 2012-01-09.doc 的檔案。你不捨得刪了它們,順手打個包壓縮下扔進了自己的歸檔資料夾裡,也許永遠都不會看它們了;即使半年後想要來參考一下,你也頂多是看看最新版的文 件,那些歷史版本檔案之間的關係恐怕永遠也記不起來了。

這是個很普遍的例子,任何用電腦寫過報告的人都會有這種經歷。儲存某個修改的檔案時我們習慣於給較早的版本加個日期(或者其他你感興趣 的方式)做為備份,生怕自己對稍後的某個修改不滿意好恢復回去;如果有強迫症,估計你恨不得寫一行備份一次——如果你學會了git,恐怕這種強迫症會更加 強烈,因為用起來實在是太爽了。這就是一個非常樸素的版本控制系統,你人為的給某個檔案加上時間的標記,把編輯的某些里程碑儲存下來,方便自己將來查閱、 備份、恢復。

既然我們有這麼普遍而強烈的需求,版本控制系統軟體自然備受關注,並不斷更新升級。從 CVS 到 SVN 再到 GIT,版本控制系統的管理模式從集中向分佈演變。git的分散式特點就在於,雖然我們可以有一個最核心的中央伺服器來管理所有的檔案,你可以在本地生成 一個區域性的版本控制系統,你的版本歷史都可以先在本地儲存,直到獲得一個滿意的版本後,再提交到伺服器中。對於個人來說,甚至完全不用理會中央伺服器是否 存在,自己玩單機版的版本控制就足夠了——本文的目的也就在於教會你怎樣玩轉單機版git。

準備

安裝好TortoiseGit之後,重啟電腦,滑鼠右鍵裡就會有這幾個新的程式,git的相關功能都可以從這裡訪問到,連開始選單都不要,是不是很方便?

讓Git成為個人工作備份利器

(svn是另一個軟體,請無視)

請選擇setting,我們需要配置一下git的路徑。

讓Git成為個人工作備份利器

在紅框裡,我們要設定一下 git 的路徑,就是你安裝 msysgit的bin資料夾,比如說我的是 F:\software\develop\svn\git\PortableGit-1.7.8- preview20111206\bin,裡面會有 git.exe 這個程式。

如此,我們的環境就配置好了,是不是非常簡單?

實戰基礎知識

接下來,我們要具體看看git如何成為我們備份的利刃。

先隨便建立一個空白資料夾,作為我們實踐的平臺。

進入這個資料夾,滑鼠右鍵選擇 “ Git Create repository here...",彈出的對話方塊不用管,那個複選框不要選,ok即可。這個資料夾裡就會出現一個隱藏的 .git 資料夾。如何顯示隱藏資料夾?這個請放狗去搜吧。

ok,一個版本庫我們就創建出來了。走到上級目錄,你也許會看到,檔案加上出現了一個綠色的對勾符號,表示這個資料夾已經受到了版本的控制。(這個圖示的出現不一定實時,也許你要多重新整理幾次,甚至重啟電腦才行)

讓Git成為個人工作備份利器

常見的圖示有

讓Git成為個人工作備份利器 這個檔案(夾)很乾淨,是最新版本檔案

讓Git成為個人工作備份利器這個檔案(夾)發生了修改,需要提交

讓Git成為個人工作備份利器這個檔案(夾)要新增進版本庫

讓Git成為個人工作備份利器這個檔案(夾)沒有在版本庫中,需要新增進來(轉為上一個圖示的狀態),或者忽略(轉為下一個圖示的狀態)

讓Git成為個人工作備份利器這個檔案(夾)被忽略,不受版本控制

讓Git成為個人工作備份利器這個檔案(夾)裡的內容發生衝突(這是最危險的情況,但是對於個人使用者來說,幾乎不會出現,出現的情況是兩個人同時對一個檔案做修改,後提交的人在更新時無法與前者完美融合時,這個不需要深入理解)

通過這麼直觀的圖示暫時,你就能對自己的工作檔案夾了如指掌,那些檔案做了修改,當前工作是否需要提交,都一目瞭然。

 版本分支

在進行更進一步操作時,有必要了解一下版本分支(Branch)的概念。版本分支意味著,你從當前的專案中弄出來一個拷貝,按照自己的想法胡亂修 改,你之後的所有版本歷史都儲存在這個分支裡。如果你對這個分支很滿意,就可以把這個分支合併到原來的主分支裡(Merge),甚至直接讓這個分支作為主 分支;或者你感覺到越改越糟糕,就直接回到主分支工作,彷彿什麼也沒有發生一樣(當然這個新的分支要通過某些複雜的操作來刪除,你也可以留著,作為自己慘 痛教訓的警鐘)。也就是說,分支為你提供了一個嘗試某些新道路的空間。

作為個人使用者來說,有一個主分支和一個工作分支就夠了。主分支作為基準一直不變,工作都在工作分支上進行,這樣主分支與工作分支之間的變化就記錄了你的所有工作歷史。

我們來具體實踐一下。

首先,git有個不太人性化的“bug“,不能夠新增空白資料夾,因此我們需要先新增一個空白檔案,比如 test.txt,然後在資料夾上右鍵選擇 “Git commit"

讓Git成為個人工作備份利器

選擇新增的那個檔案,寫點message(git每次提交必須寫上一些文字說明這次更新的內容,從而讓你知道每個版本有什麼變化)提交即可

讓Git成為個人工作備份利器

在剛才的工作檔案加上右鍵,選擇 “Create Branch“

讓Git成為個人工作備份利器

 隨便取名比如 develop,確定即可。

 依然右鍵選擇 “Show log“,出現如下對話方塊

讓Git成為個人工作備份利器

 可以看到,我們已經有了一個版本歷史,它詳細記錄了我們的改變。上面有兩個顏色標籤,紅色的master和綠色的develop,這個代表了我們 的分支。master是我們第一次提交時系統自動生成的分支;develop是我們手動建立的。紅色的代表當前的工作分支,綠色的代表存在的歷史分支。我 們需要把工作分支切換到 develop。

在資料夾上右鍵選擇 “Switch/Checkout", Branch裡選擇develop,再檢視歷史,我們就會發現,develop變成了紅色。

開始工作

接下來我們就可以隨心所欲的工作了。編輯一下test.txt,新建資料夾,新增word,excel檔案,總之,隨便工作。你會看到,修改的檔案 加了紅色的歎號,新加為被版本控制的檔案加了藍色的問號,對於藍色問號,你可以選擇右鍵裡的 “Add“讓它變成藍色的加號(或者有時會一步到位變成綠色的對勾,這個不重要),或者不管他。

然後在根檔案上,選擇 Commit,再來看看歷史,就會發現你的工作記錄了

Commit時會有一個讓你輸入使用者名稱的問題,這個完全不重要,你隨便寫個使用者名稱和郵箱即可.

讓Git成為個人工作備份利器

可以發現,develop進步了一個版本,master還停留在原處。歷史顯示,test.txt被修改,一個word和excel被新增;資料夾資訊不回被記錄。

 雙擊下面的test.txt檔案,它甚至會給你展示出這個檔案發生了哪些變化。甚至連 excel 和 word 的變化也會給你選擇合適的方式進行比較。

讓Git成為個人工作備份利器

讓Git成為個人工作備份利器

讓Git成為個人工作備份利器

令人震驚吧!沒錯,git會完全忠實的記錄的一點一滴,只要你commit,系統就會為你儲存下來一個歷史記錄(不必擔心空間,它會採用很先進的方式進行增量儲存,遠比你每次都複製要節省空間得多)

結束語

差不多已經把如何用git來進行工作的方法介紹完了,還有一個非常重要的功能沒有說,怎麼樣恢復歷史版本的檔案呢?很簡單,在想要恢復的檔案上檢視歷史,選擇revert即可!

讓Git成為個人工作備份利器

即使你完全不懂程式設計,相信上面的講解也可以教會你怎麼樣來使用了吧。趕緊來試試吧!

轉自: