Git 快速入門

1、認識Git

Git是什麼?

一種分佈式版本控制系統。git

集中式版本控制系統是什麼?

版本庫是集中存放在中央服務器的,而幹活的時候,用的都是本身的電腦,因此要先從中央服務器取得最新的版本,而後開始幹活,幹完活了,再把本身的活推送給中央服務器。中央服務器就比如是一個圖書館,你要改一本書,必須先從圖書館借出來,而後回到家本身改,改完了,再放回圖書館。github

集中式版本控制系統最大的毛病就是必須聯網才能工做,若是在局域網內還好,帶寬夠大,速度夠快,可若是在互聯網上,遇到網速慢的話,會把人憋死。安全

圖片描述

分佈式版本控制系統是什麼?

分佈式版本控制系統與集中式版本控制系統有何不一樣呢?首先,分佈式版本控制系統根本沒有「中央服務器」,每一個人的電腦都是一個完整的版本庫,這樣,你工做的時候,就不須要聯網了,由於版本庫就在你本身的電腦上。既然每一個人電腦上都有一個完整的版本庫,那多我的如何協做呢?比方說你在本身電腦上改了文件A,你的同事也在他的電腦上改了文件A,這時,大家倆之間只需把各自的修改推送給對方,就能夠互相看到對方的修改了。服務器

和集中式版本控制系統相比,分佈式版本控制系統的安全性要搞不少,由於每一個人電腦裏都有完整的版本庫,某一我的的電腦壞掉了沒關係,隨便從其餘人那裏複製一個就能夠了。而集中式版本控制系統的中央服務器要是出了問題,全部人都沒法幹活了。分佈式

圖片描述

在實際使用分佈式版本系統的時候,其實不多在兩人之間的電腦上推送版本庫的修改,由於可不在一個局域網內,兩臺電腦互相訪問不了,也可能今天你的同事病了,他的電腦壓根沒有開機。分佈式版本控制系統一般也有一臺充當「中央服務器」的電腦,但這個服務器的做用僅僅是用來方便「交換」你們的修改,沒有它你們也同樣幹活,只是交換修改不方便而已。網站

固然,Git的優點不單是沒必要聯網這麼簡單,還有它極其強大的分支管理,把SVN等遠遠拋在了後面。編碼

2、安裝Git

在Windows上安裝Git

msysgit是Windows版的Git,從 官網 下載,而後按默認選項安裝便可。spa

安裝完成後,在開始菜單裏找到Git -> Git Bash,一個相似命令行窗口的東西,就說明Git安裝成功!命令行

圖片描述

圖片描述

安裝完成後,還須要最後一步設置,在命令行輸入:版本控制

$ git config --global user.name "Your Name"
$ git config --global user.email "Your Email"

由於Git是分佈式版本控制系統,因此,每一個機器都必須自報家門:你的名字和Email地址。

注意git config命令的--global參數,用了這個參數,表示你這臺機器行全部的Git倉庫都會使用這個配置,固然也能夠對某個倉庫指定不一樣的用戶名和Email地址。

3、建立版本庫

版本庫,又名倉庫,英文名repository,你能夠簡單理解成一個目錄,這個目錄裏的全部文件均可以被Git管理起來,每一個文件的修改、刪除,Git都能跟蹤,以便任什麼時候刻均可以追蹤歷史,或者在未來某個時刻能夠「還原」。

1.建立版本庫的步驟

第一步,選擇一個合適的地方,建立一個空目錄:

$ mkdir myrepo
$ cd myrepo
$ pwd
/c/Users/Roger/myrepo

圖片描述

第二步,經過git init命令把這個目錄變成Git能夠管理的倉庫:

$ git init
Initialized empty Git repository in c:/Users/Roger/myrepo/.git/

圖片描述

至此,倉庫建立完成且提示你是這是一個空的倉庫(empty Git repository)。固然,不必定必須在空目錄下建立Git倉庫,選擇一個已經有東西的目錄也是能夠的。

2.把文件添加到版本庫

首先要明確,全部的版本控制系統,其實只能跟蹤文本文件的改動,好比txt文件,網頁,全部的程序代碼等等,Git也不例外。版本控制系統能夠告訴你每次的改動,好比在第幾行增刪修改了什麼。而圖片、視頻這些二進制文件,雖然也能由版本控制系統管理,但無法跟蹤文件的變化,只能把二進制文件每次改動串起來,也就是隻知道圖片從100kb改爲了120kb,但到底改了什麼,版本控制系統不知道,也沒法知道。

不幸的是,Microsoft的Word格式是二進制格式,所以,版本控制系統是無法跟蹤Word文件的改動的。

由於文本是有編碼的,好比中文有經常使用的GBK編碼,日文有Shift_JIS編碼,若是沒有歷史遺留的問題,強烈建議使用標準的UTF-8編碼,全部語言使用同一種編碼,既沒有衝突,又被全部平臺所支持。

把文件添加到版本庫也是很簡單的事情。

首先,咱們編寫一個readme.txt文件,內容以下:

Git is a version control system.
Git is free software.

注意,該文件必定要放在myrepo目錄下(子目錄也行)。

接下來,把這個文件放到Git倉庫。這個過程只須要兩步。

第一步,用命令git add告訴Git,把文件添加到倉庫:

$ git add readme.txt

執行上面的命令,沒有任何的顯示,這就對了!Unix的哲學是「沒有消息就是好消息。」,說明添加成功。

第二步,用命令git commit告訴Git,把文件提交到倉庫:

$ git commit -m "wrote a readme file"
[master (root-commit) dc767dc] wrote a readme file
1 file changed, 2 inserttions(+)
create mode 100644 readme.txt

圖片描述

git commit命令中-m後面輸入的是本次提交的說明,能夠輸入任意內容,建議填寫有意義的內容,方便往後從歷史記錄裏快速找到改動記錄。

git commit命令執行成功後會告訴你,1個文件被改動(新添加的readme.txt文件),插入了兩行內容(readme.txt有兩行內容)。

爲何Git添加文件須要add,commit這麼兩步呢?由於commit能夠一次提交不少文件,因此你能夠屢次add不一樣的文件。好比:

$ git add file1.txt
$ git add file2.txt
$ git add file3.txt
$ git commit -m "add 3 files."


詳細教程請戳這裏:Git教程 - 廖雪峯的官方網站

相關文章
相關標籤/搜索