Git使用詳解(30分鐘理解Git)

GIt版本管理工具的強大之處不必多說,下面介紹下
首先說一下Git和SVN的區別.
Git是分佈式管理系統,SVN是集中式管理系統.
Git不需聯網就可使用,有一個本地倉庫和遠程倉庫,SVN必須依賴網絡.
Git比SVN更高效和快捷.
1.Git的安裝:
在Linux上安裝Git
如果你碰巧用Debian或Ubuntu Linux,通過一條sudo apt-get install git就可以直接完成Git的安裝,非常簡單.
老一點的Debian或Ubuntu Linux,要把命令改爲sudo apt-get install git-core.
如果是其他Linux版本,可以直接通過源碼安裝。先從Git官網下載源碼,然後解壓,依次輸入:./config,make,sudo make install這幾個命令安裝就好了。
在Mac OS X上安裝Git
一是安裝homebrew,然後通過homebrew安裝Git,具體方法請參考homebrew的文檔:http://brew.sh/
第二種方法更簡單,也是推薦的方法,就是直接從AppStore安裝Xcode,Xcode集成了Git,不過默認沒有安裝,你需要運行Xcode,選擇菜單“Xcode”->“Preferences”,在彈出窗口中找到“Downloads”,選擇“Command Line Tools”,點“Install”就可以完成安裝了。
在Windows上安裝Git
msysgit是Windows版的Git,從https://git-for-windows.github.io下載
安裝完成後,在開始菜單裏找到“Git”->“Git Bash”,蹦出一個類似命令行窗口的東西,就說明Git安裝成功!

2.Git的設置
設置你的用戶名和郵箱,輸入以下命令即可.

git config --global user.name "Your Name"
git config --global user.email "[email protected]"

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

3.創建版本庫
創建一個版本庫非常簡單,首先,找一個合適的地方,創建一個空目錄
pwd命令用於顯示當前目錄。在我的Windows上,這個倉庫於/f/liuxu_project/ShortestPath。
如果你使用Windows系統,爲了避免遇到各種莫名其妙的問題,請確保目錄名(包括父目錄)不包含中文
第二步,通過git init命令把這個目錄變成Git可以管理的倉庫

git init
Initialized empty Git repository in F:/liuxu_project/H5Test/.git/

如下圖所示,你會發現當前目錄下多了個.git文件,如果沒有看到請設置顯示隱藏文件,該文件是隱藏文件.這個文件是Git用來跟蹤管理版本庫的,沒事千萬不要亂改這個文件,改壞了版本庫也就壞了.
創建版本庫

4.Git最常用命令
查看版本庫的狀態
git status,輸入命令之後會顯示當前處在版本庫的哪個分支,哪些文件被add等信息,還有查看版本庫的差異,如下圖

//查看版本庫的狀態
git status
//查看版本庫的差異
git diff

查看版本庫的狀態

添加文件到本地倉庫:

//表示將當前目錄下所有文件全部添加到本地倉庫
git add .
//添加單個文件readme.txt
git add readme.txt

提交到本地倉庫

//提交add的文件到本地倉庫
git commit -m"本地代碼的核心功能"

推送到遠程倉庫

//推送到遠程倉庫
git push -u origin master

由於遠程庫是空的,我們第一次推送master分支時,加上了-u參數,Git不但會把本地的master分支內容推送的遠程新的master分支,還會把本地的master分支和遠程的master分支關聯起來,在以後的推送或者拉取時就可以簡化命令。
推送成功後,可以立刻在GitHub頁面中看到遠程庫的內容已經和本地一模一樣

克隆遠程倉庫,即可以克隆gitblit上的代碼,還可以克隆github上的倉庫源碼

//克隆遠程倉庫
git clone 要克隆的遠程倉庫地址

創建與合併分支

//創建dev並切換到dev分支
git checkout -b dev
//查看當前分支,git branch命令會列出所有分支,當前分支前面會標一個*號。
git branch
//切換回master分支
git checkout master
//dev分支的工作成果合併到master分支上
git merge dev
//刪除dev分支
git branch -d dev
//合併某分支到當前分支
it merge <name>
//可以看到分支合併圖
git log --graph
//顯示提交日誌
git log

忽略特殊文件
在Git工作區的根目錄下創建一個特殊的.gitignore文件,然後把要忽略的文件名填進去,Git就會自動忽略這些文件。
不需要從頭寫.gitignore文件,GitHub已經爲我們準備了各種配置文件,只需要組合一下就可以使用了。所有配置文件可以直接在線瀏覽:https://github.com/github/gitignore
忽略文件的原則是:

忽略操作系統自動生成的文件,比如縮略圖等;
忽略編譯生成的中間文件、可執行文件等,也就是如果一個文件是通過另一個文件自動生成的,那自動生成的文件就沒必要放進版本庫,比如Java編譯產生的.class文件;
忽略你自己的帶有敏感信息的配置文件,比如存放口令的配置文件。
使用Windows的童鞋注意了,如果你在資源管理器裏新建一個.gitignore文件,它會非常弱智地提示你必須輸入文件名,但是在文本編輯器裏“保存”或者“另存爲”就可以把文件保存爲.gitignore了。

配置別名
如果敲git st就表示git status那就簡單多了,當然這種偷懶的辦法我們是極力贊成的。
當然還有別的命令可以簡寫,很多人都用co表示checkout,ci表示commit,br表示branch:

//以後提交代碼時co表示checkout
$ git config --global alias.co checkout
//以後提交代碼時ci表示commit
$ git config --global alias.ci commit
//以後提交代碼時br 表示branch
$ git config --global alias.br branch

當然如果你想配置其他的命令也是可以的.
參考鏈接:
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013744142037508cf42e51debf49668810645e02887691000
記錄下學習筆記,爲了自己查閱方便,也爲了不懂Git的童鞋能快速掌握Git版本控制工具!
如有不足之處請指正,謝謝!
看過的童鞋覺得不錯請順手點個贊!

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