Git是一個「分散式版本管理工具」。
版本管理工具能夠紀錄每次的修改,只要提交到版本倉庫,就可以找到之前任何時刻的狀態。
我們在寫東西的時候都用過撤消這個功能,但是撤消只能回撤有限步,通常關閉編輯軟體後再重新開啟,此時的復原紀錄都已被清空了。而「版本管理工具」則不同,它能記錄每次的修改,只要提交到版本倉庫,就可以找到之前任何時刻的狀態。
安裝git軟體後,在任意目錄下建立一個新資料夾,開啟,然後執行git init來建立新的git倉庫(該命令將建立一個名為.git的隱藏子目錄)。
執行命令git clone + 遠端專案地址,用來克隆遠端伺服器上的倉庫。
Git有三種狀態,分別是已提交(committed)、已修改(modified)、已暫存(staged)。
Git的三種狀態分別對應本地倉庫的三個工作流,本低倉庫是由git維護的三棵樹組成。
前面提到了master分支,那麼如何直觀的瞭解分支呢?
分支是用來將特性開發絕緣開來的。在建立倉庫的時候,master是「預設」分支。在其他分支上進行開發,完成後再將它們合併到主分支上。
git branch test1 | 建立一個名字為test1的分支。 |
---|---|
git checkout test1 | 切換當前分支到test1 |
git checkout -b test1 | 建立一個叫做「test1」的分支,並切換過去。 |
git checkout master | 切換回主分支。 |
git branch -d test1 | 把新建的分支刪掉。 |
git push origin | 將分支推播到遠端倉庫。 |
git merge test | 合併分支。 |
使用命令git pull 「遠端分支名」 從遠端獲取程式碼併合併到本低的版本(在工作目錄中獲取(fetch)併合並(merge)遠端的改動)
使用命令git merge 「分支名」 把合併其他分支到當前分支。
前面的兩種情況,git都會嘗試去自動合併改動。但合併可能會出現衝突(conflicts),需要手動修改檔案來合併這些衝突。改動後執行git add 將它們標記為合併成功。在合併改動之前,可以使用git diff <source_branch> <target_branch>來觀察是否存在差異。
如果操作失誤,可以使用命令git checkout – 替換掉本地改動。該命令會使用 HEAD中的最新內容替換掉工作目錄中的檔案(已新增到暫存區的改動以及新檔案都不會受到影響)
將test重新命名為test1:git remote rename test test1
移除遠端倉庫test1: git remote rm test1
取消暫存的檔案:git reset filename
復原對檔案的修改:git checkout –filename
使用git log可以得到本地倉庫的歷史記錄。
使用命令git log --author=bob來只看某個人的提交記錄。新增一些引數來修改輸出,從而得到自己想要的結果。
檢視哪些檔案改變了: git log --name-status
推薦學習:《》
以上就是一文帶你讀懂什麼是Git版本管理的詳細內容,更多請關注TW511.COM其它相關文章!