Git使用教程

一、分佈式版本控制系統Git簡介

Git是一個開源的分佈式版本控制系統,可以有效、高速的處理從很小到非常大的項目版本管理。Git Linus Torvalds爲了幫助管理 Linux內核開發而開發的一個開放源碼的版本控制軟件。

二、Git的使用


2.1、Git的安裝

在Linux 系統下可以輸入Git命令來查看當前系統有沒有安裝Git如果沒有的話可以通過sudo apt-get install git 安裝git。當Git安裝完成以後進入最後一步設置。因爲Git是分佈式版本控制系統,所以,每個機器都必須自報家門:你的名字和Email地址。配置命令爲:

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

$git config --global user. email"[email protected]"

注意git config命令的--global參數,用了這個參數,表示你這臺機器上所有的Git倉庫都會使用這個配置,當然也可以對某個倉庫指定不同的用戶名和Email地址。


2.2、創建Git管理的版本庫

版本庫又名倉庫,英文名repository,你可以簡單理解成一個目錄,這個目錄裏面的所有文件都可以被Git管理起來,每個文件的修改、刪除,Git都能跟蹤,以便任何時刻都可以追蹤歷史,或者在將來某個時刻可以“還原”。首先進入一個要創建版本庫的目錄,在使用git init。

$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/


2.3、查看版本庫的狀態

命令可以讓我們時刻掌握倉庫當前的狀態,我們可以通過這個命令知道當前哪些文件被修改,哪些文件加入到暫存區、哪些文件被提交到工作區。

$ git status


2.4、Git的add和commit

$ git add readme.txt

git add 命令是爲了把修改文件加入到暫存區。

$ git commit -m "append GPL"

git commit 命令是把暫存區的文件加入到工作區。


2.5、查看提交日誌

在實際工作中,我們腦子裏怎麼可能記得一個幾千行的文件每次都改了什麼內容,不然要版本控制系統幹什麼。版本控制系統肯定有某個命令可以告訴我們歷史記錄,在Git中,我們用git log命令查看:

$ git log
commit 3628164fb26d48395383f8f31179f24e0882e1e0
Author: Michael Liao <[email protected]>
Date:   Tue Aug 20 15:11:49 2013 +0800
    append GPL
commit ea34578d5496d7dd233c827ed32a8cd576c5ee85
Author: Michael Liao <[email protected]>
Date:   Tue Aug 20 14:53:12 2013 +0800
    add distributed
commit cb926e7ea50ad11b8f9e909c05226233bf755030
Author: Michael Liao <[email protected]>
Date:   Mon Aug 19 17:51:55 2013 +0800
    wrote a readme file

2.6、版本回退

git checkout -- file;撤銷對工作區修改;這個命令是以最新的存儲時間節點(addcommit)爲參照,覆蓋工作區對應文件file;這個命令改變的是工作區


git reset HEAD -- file;清空add命令向暫存區提交的關於file文件的修改(Ustage);這個命令僅改變暫存區,並不改變工作區,這意味着在無任何其他操作的情況下,工作區中的實際文件同該命令運行之前無任何變化

2.7、添加遠程倉庫Github

1、在遠程倉庫加入本地的ssh的公鑰

因爲本地區和遠程去使用的是ssh安全協議通信。

$ ssh-keygen -t rsa -C [email protected](任意郵箱即可)

2、把本地倉庫與遠程倉庫關聯

$ git remote add origin [email protected]:michaelliao/learngit.git(遠程代碼倉庫的地址)

其中上述命令的地址爲Github遠程庫的地址。

3、 把本地庫內容推送到遠程庫

Git push –u origin master

把本地庫內容推送到origin所指向庫的master分支。由於遠程庫是空的,我們第一次推送master分支時,加上了-u參數,Git不但會把本地的master分支內容推送的遠程新的master分支,還會把本地的master分支和遠程的master分支關聯起來,在以後的推送或者拉取時就可以簡化命令。以後再要推送直接使用

Git push origin master

4、 從遠程庫拉取內容

分別有命令git clone 和git pull

clone是本地沒有repository時,將遠程repository整個下載過來,此時不但下載下來內容,而且在本地創建了一個版本控制的倉庫,並且自動綁定了master分支。

pull是本地有repository時,將遠程repository裏新的commit數據(如有的話)下載過來,並且與本地代碼merge。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章