GIT的安裝和使用簡介

一. 在Windows上安裝Git
msysgit是Windows版的Git,從http://msysgit.github.io/下載,然後按默認選項安裝即可。
安裝完成後,在開始菜單裏找到“Git”->“Git Bash”,蹦出一個類似命令行窗口的東東。

安裝完成後,還需要最後一步設置,在命令行輸入:
$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"
因爲Git是分佈式版本控制系統,所以,每個機器都必須自報家門:你的名字和Email地址。
注意git config命令的--global參數,用了這個參數,表示你這臺機器上所有的Git倉庫都會使用這個配置,當然也可以對某個倉庫指定不同的用戶名和Email地址。

二、 在Linux上安裝Git
1、下載和安裝GIT
如果你碰巧用Debian或Ubuntu Linux,通過一條“sudo apt-get install git”就可以直接完成Git的安裝

下載地址:https://www.kernel.org/pub/software/scm/git/
下載後並解壓後切換到其目錄
$ tar jxv -f git-2.3.3.tar.bz2
$ cd git-2.3.3

使用默認配置進行安裝,如果想修改配置,可以使用 ./configure --help 來獲取幫助
$ ./configure
$ make
$ make install

2、初始化配置
GIT默認安裝在 /usr/local/bin ,安裝之後可以驗證一下是否安裝好
 
$ whereis git
git: /usr/local/bin/git
$ git  --version
git version 2.3.3
$ git  --help

首先需要指定用戶名和電子郵件地址
 
$ git config  --global user.name “GIT Admin”
$ git config  --global user.emal   [email protected]
 
再驗證一下配置信息

$ git config  --list
user.name=GIT Admin
[email protected]

其實這些配置是存放在個人主目錄下的 .gitconfig 文件中
 
$ cat ~/.gitconfig
[user]
name = GIT Admin

3、創建版本庫
(1) 創建一個版本庫非常簡單,首先,選擇一個合適的地方,創建一個空目錄:
$ mkdir learngit
$ cd learngit
$ pwd
/Home/fishman/learngit

(2) 通過git init命令把這個目錄變成Git可以管理的倉庫
$ git init

(3) 把文件添加到版本庫
編寫一個readme.txt文件,內容如下:
Git is a version control system.
Git is free software.

把一個文件放到Git倉庫只需要兩步。
第一步,用命令git add告訴Git,把文件添加到倉庫:
$ git add readme.txt

第二步,命令git commit告訴Git,把文件提交到倉庫:
$ git commit -m "wrote a readme file"
注意:-m後面輸入的是本次提交的說明

可以多次add不同的文件,比如:
$ git add file1.txt
$ git add file2.txt
$ git add file3.txt
$ git commit -m "add 3 files."

小結:
初始化一個Git倉庫,使用git init命令。
添加文件到Git倉庫,分兩步:
第一步,使用命令git add ,注意,可反覆多次使用,添加多個文件;
第二步,使用命令git commit,完成。

4查看狀態
如果本地的文件和遠端GIT倉庫上的文件相比沒有任何改動,則
 
$ git status
# On branch master
nothing to commit (working directory clean)
 
如果本地做了改動但是沒有提交,則
 
$ git status
# On branch master
# Changes not staged for commit:
# (use “git add …” to update what will be committed)
# (use “git checkout — …” to discard changes in working directory)
#
# modified: readme.txt
#
no changes added to commit (use "git add" and/or "git commit -a")
 果能看看具體修改了什麼內容

5.用下面命令查看文件歷史和以往的註釋
$git  log

commit 5be389439585f002a12a1da547abbf0baf36fc81
Author: GIT Admin <[email protected]>
Date:   Sun Apr 12 12:04:39 2015 +0800
    supper man

commit c2a2f542c42a33907e61cc4fa5f3be671a4ecf97
Author: GIT Admin <[email protected]>
Date:   Sun Apr 12 12:02:56 2015 +0800

版本回退
--------------------
Git必須知道當前版本是哪個版本,在Git中,用HEAD表示當前版本,也就是最新的提交“ 5be389439585f002a12a1da547abbf0baf36fc81”,上一個版本就是HEAD^,上上個版本就是HEAD^^,當然往上100 個版本寫100個^比較容易數不過來,所以寫成HEAD~100。
現在,我們要把當前版本“ supper man”回退到上一個版本“add distributed”,就可以使用git reset命令:
$ git reset --hard HEAD^

也可以使用commit id,如
$ git reset --hard 5be3894
不用全寫5be389439585f002a12a1da547abbf0baf36fc81,只寫前面幾個即可。
命令格式:git reset --hard commit_id

穿梭前,用git log可以查看提交歷史,以便確定要回退到哪個版本。
要重返未來,用git reflog查看命令歷史,以便確定要回到未來的哪個版本

工作區和暫存區
--------------------
工作區:learngit
版本庫:.git
暫存區: stage
前面把文件往Git版本庫裏添加的時候,是分兩步執行的:
第一步是用“git add”把文件添加進去,實際上就是把文件修改添加到暫存區;
第二步是用“git commit”提交更改,實際上就是把暫存區的所有內容提交到當前分支.

管理修改
--------------------
Git跟蹤並管理的是修改,而非文件.
Git是跟蹤修改的,每次修改,如果不add到暫存區,那就不會加入到commit中

撤銷修改
先用git status查看一下:
$ git status

Git會告訴你,git checkout -- file可以丟棄工作區的修改:
$ git checkout -- readme.txt

命令git checkout -- readme.txt意思就是,把readme.txt文件在工作區的修改全部撤銷,這裏有兩種情況:

一種是readme.txt自修改後還沒有被放到暫存區,現在,撤銷修改就回到和版本庫一模一樣的狀態,
一種是readme.txt已經添加到暫存區後,作了修改,現在,撤銷修改就回到添加到暫存區後的狀態.
總之,就是讓這個文件回到最近一次git commit或git add時的狀態。

git checkout -- file命令中的“--”很重要,沒有“--”,就變成了“創建一個新分支”的命令。

Git同樣告訴我們,用命令git reset HEAD file可以把暫存區的修改撤銷掉(unstage),重新放回工作區:
$ git reset HEAD readme.txt
Unstaged changes after reset:
M       readme.txt

git reset命令既可以回退版本,也可以把暫存區的修改回退到工作區。當我們用HEAD時,
表示最新的版本。

還記得如何丟棄工作區的修改嗎
$ git checkout -- readme.txt

小結:
場景1:當你改亂了工作區某個文件的內容,想直接丟棄工作區的修改時,用命令git checkout -- file。
場景2:當你不但改亂了工作區某個文件的內容,還添加到了暫存區時,想丟棄修改,分兩步,第1步用命令git reset HEAD file,就回到了場景1,第二步按場景1操作。
場景3:已經提交了不合適的修改到版本庫時,想要撤銷本次提交,參考版本回退節,不過前提是沒有推送到遠程庫。

刪除?文件
-----------------------

在Git中,刪除也是一個修改操作,我們實戰一下,先添加一個新文件test.txt到Git並且提交
$ git add test.txt
$ git commit -m "add test.txt"
[master 94cdc44] add test.txt 1 file changed, 1 insertion(+) create mode 100644 test.txt

一般情況下,你通常直接在文件管理器中把沒用的文件刪了,或者用rm命令刪除了:
$ rm test.txt

這個時候,Git知道你刪除了文件,因此,工作區和版本庫就不一致了,git status 立刻告訴你哪些文件被刪除了
$ git status

現在你有兩個選擇,一是確實要從版本庫中刪除該文件,那就用git rm 命令, 並且commit:
$ git rm test.txtrm 'test.txt'
$ git commit -m "remove test.txt"
[master d17efd8] remove test.txt
1 file changed, 1 deletion(-)
delete mode 100644 test.txt
現在,文件就從版本庫中被刪除了。

另一種情況是刪錯了,因爲版本庫裏還有呢,所以可以很輕鬆地把誤刪的文件恢復到最新版本:
$ git checkout -- test.txt

git checkout其實是用版本庫裏的版本替換工作區的版本,無論工作區是修改還是刪除,都
可以“一鍵還原”。

創建與合併分?支
---------------------------
Git鼓勵大量使用分支:
查看分支:git branch
創建分支:git branch name
切換分支:git checkout name

創建+切換分支:git checkout -b name
合併某分支到當前分支:git merge name
刪除分支:git branch -d name



參考:http://wenku.baidu.com/link?url=_8DT7N62OQQiY2B_NuUuX2v3sOH_ziJeNHjaL3if77xCYPPqev1r__KZ8WGklFNE4Ikyny1cZsETKUqz8t6G9j7-kDIybEhnobLjvbqI5yi  --git教程
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章