git簡單教程

一、建立新倉庫git

        建立新文件夾,打開,而後執行git init建立新的git倉庫。
緩存

二、檢出倉庫服務器

        執行下面的命令建立一個本地倉庫的克隆版本。
svn

        git clone /path/to/repository
fetch

        若是是遠端服務器上的倉庫,你的命令會是這個樣子:
ui

        git clone username@host :/path/to/repository
spa

三、工做流.net

        你的本地倉庫由git維護的三顆‘樹’組成。
orm

        一、第一個是你的工做目錄,它持有實際文件。
server

        二、第二個是暫存區(Index),它像個緩存區域,臨時保存你的改動。

        三、最後是HEAD,它指向你最後一次提交的結果。

四、添加和提交

        你能夠提出更改(把它們添加到暫存區),使用以下命令:

        git add <filename>

        git add  *         

        這是git基本工做流程的第一步;使用以下命令以實際提交改動:

        git commit -m "代碼提交信息"

        如今,你的改動已經提交到了HEAD,可是尚未到你的遠端倉庫。

五、推送改動

        你的改動如今已經在本地倉庫的HEAD中了。執行以下命令以將這些改動提交到遠端倉庫:

        git push orgin master

        能夠把master換成你想要推送的任何分支。

        若是你尚未克隆現有倉庫,並欲將你的倉庫鏈接到某個遠程服務器,你可使用以下命令添加:

        git remote add origin <server>

        如此你就可以將你的改動推送到所添加的服務器 上去了。

六、分支

        分支是用來將特性開發絕緣開來的。在你建立倉庫的時候,master是「默認的」分支。在其餘分支上進行開發,完成後再將它們合併到主分支上。

        建立一個叫作「feature_x」的分支,並切換過去:

        git checkout -b feature_x

        切換回主分支:

        git checkout master

        再把新建的分支刪除掉:

        git branch -d feature_x

        除非你將分支推送到遠端倉庫,否則該分支就是不爲他人所見的:

        git push origin <branch>

七、更新與合併:

        要更新你的本地倉庫至最新改動,執行:

        git pull

        以在你的工做目錄中 獲取(fetch)併合並(merge)遠端的改動。要合併其餘分支到你的當前分支(例如master),執行:

        git merge <branch>

        在這兩種狀況下,git都會嘗試去自動合併改動。遺憾的是,這可能並不是每次都成功,並可能出現衝突(conflicts)。這時候就須要你修改這些文件來手動合併這些衝突(conflicts)。改完以後,你須要執行以下命令以將它們標記爲合併成功:

        git add <filename>

        在合併改動以前,你可使用以下命令預覽差別:

        git diff <source_branch> <target_branch>

八、標籤

        爲軟件發佈建立標籤是推薦的。這個概念早已存在,在svn中也有。你能夠執行以下命令建立一個叫作1.0.0的標籤:

        git tag 1.0.0 1b2e1d63ff

        1b2e1d63ff是你想要標記的提交id的前10位字符。可使用下列命令獲取提交id:

        git log

        你可可使用少一點的提交ID前幾位,只要它的指向具備惟一性。

九、替換本地改動

        加入你操做失誤(固然,這最好永遠不要發生),你可使用以下命令替換掉本地改動:

        git checkout -- <filename>

        此命令會使用HEAD中的最新內容替換掉你的工做目錄的文件。已添加到暫存區的改動以及新文件都不會受到影響。

        假如你想丟棄你在本地的全部改動與提交,能夠到服務器上獲取最新的版本歷史,並將你本地主分支指向它:

        git fetch origin

        git reset --hard origin/master


實用小貼士

    內建的圖形化git

    gitk

    彩色的git輸出:

    git config color.ui true

    顯示歷史記錄時,每一個提交的信息只顯示一行:

     git  config format.pretty oneline

     交互式添加文件到暫存區:

    git add -i

相關文章
相關標籤/搜索