一文帶你讀懂什麼是Git版本管理
本篇文章中為大家帶來了關於Git版本管理的相關知識,版本管理工具能夠紀錄每次的修改,只要提交到版本倉庫,就可以找到之前任何時刻的狀態,希望對大家有幫助。
Git是一個「分散式版本管理工具」。
版本管理工具能夠記錄每次的修改,只要提交到版本倉庫,就可以找到之前任何時刻的狀態。
我們在寫東西的時候都用過撤消這個功能,但是撤消只能回撤有限步,通常關閉編輯軟體後再重新打開,此時的撤銷紀錄都已被清空了。而「版本管理工具」則不同,它能記錄每次的修改,只要提交到版本倉庫,就可以找到之前任何時刻的狀態。
建立倉庫
安裝git軟體後,在任意目錄下建立一個新資料夾,打開,然後執行git init來建立新的git倉庫(該指令將會建立一個名為.git的隱藏子目錄)。
檢出倉庫
執行指令git clone 遠端專案位址,用來複製遠端伺服器上的倉庫。
Git狀態
Git有三種狀態,分別是已提交(committed)、已修改(modified)、已暫存(staged)。
- 已修改(modified):已修改表示修改了文件,但尚未儲存到資料庫中。
- 已暫存(staged):表示對一個已修改文件的目前版本做了標記,使其包含在下次提交的快照中。
- 已提交(committed):資料已經安全的保存在本機資料庫中。
Git的三種狀態分別對應本地倉庫的三個工作流程,本低倉庫是由git維護的三棵樹組成。
- 第一個是工作目錄,持有實際文件,增刪文件和內容;
- 第二個是暫存區(Index),像個快取區域,暫時保存改動。輸入git add filename,這次改動就放到了暫存區。
- 第三個是HEAD,指向最後一次提交的結果。輸入git commit指令,這次改變就放到了本地倉庫。 commit之後的可以稱為一個版本。
git基本工作流程:
- #提出更改(新增至暫存區)
使用指令git add (針對特定檔案)或git add *(針對所有檔案)可以提出變更(將它們新增至暫存區)。 - 提交改動
使用指令git commit -m 「程式碼提交資訊」 來實際提交改動,執行完後改動就提交到了HEAD,但是還沒到遠端倉庫。 - 推送改動
使用指令git push origin master 將改動提交到遠端倉庫master分支(通常不會直接提交到master分支,而是推送到自己的分支,核對無誤後再進行merge )。
分支
前面提到了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
取代本地改動
如果操作錯誤,可以使用指令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教學》
以上是一文帶你讀懂什麼是Git版本管理的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

Go語言中用於浮點數運算的庫介紹在Go語言(也稱為Golang)中,進行浮點數的加減乘除運算時,如何確保精度是�...

運行 H5 項目需要以下步驟:安裝 Web 服務器、Node.js、開發工具等必要工具。搭建開發環境,創建項目文件夾、初始化項目、編寫代碼。啟動開發服務器,使用命令行運行命令。在瀏覽器中預覽項目,輸入開發服務器 URL。發布項目,優化代碼、部署項目、設置 Web 服務器配置。

GiteePages靜態網站部署失敗:404錯誤排查與解決在使用Gitee...

在BeegoORM框架下,如何指定模型關聯的數據庫?許多Beego項目需要同時操作多個數據庫。當使用Beego...

Go語言中哪些庫是大公司開發或知名開源項目?在使用Go語言進行編程時,開發者常常會遇到一些常見的需求,�...

H5頁面需要持續維護,這是因為代碼漏洞、瀏覽器兼容性、性能優化、安全更新和用戶體驗提升等因素。有效維護的方法包括建立完善的測試體系、使用版本控制工具、定期監控頁面性能、收集用戶反饋和製定維護計劃。

Go語言中使用RedisStream實現消息隊列時類型轉換問題在使用Go語言與Redis...
