搜尋
首頁開發工具Git一文帶你讀懂什麼是Git版本管理

本篇文章中為大家帶來了關於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基本工作流程:

  • #提出更改(新增至暫存區)
    使用指令git add (針對特定檔案)或git add *(針對所有檔案)可以提出變更(將它們新增至暫存區)。
  • 提交改動
    使用指令git commit -m 「程式碼提交資訊」 來實際提交改動,執行完後改動就提交到了HEAD,但是還沒到遠端倉庫。
  • 推送改動
    使用指令git push origin master 將改動提交到遠端倉庫master分支(通常不會直接提交到master分支,而是推送到自己的分支,核對無誤後再進行merge )。

分支

前面提到了master分支,那麼如何直覺的了解分支呢?

分支是用來將特性開發絕緣開來的。在創建倉庫的時候,master是「預設」分支。在其他分支上進行開發,完成後再將它們合併到主分支上。
一文帶你讀懂什麼是Git版本管理

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中文網其他相關文章!

陳述
本文轉載於:CSDN。如有侵權,請聯絡admin@php.cn刪除
git and github:有什麼關係?git and github:有什麼關係?Apr 14, 2025 am 12:10 AM

Git和GitHub是不同的工具:Git是用於版本控制的軟件,GitHub是基於Git的在線平台。 1.Git允許你跟踪文件變化和協同開發。 2.GitHub提供代碼託管和協作工具,增強團隊開發效率。

GitHub:開發人員和項目的平台GitHub:開發人員和項目的平台Apr 13, 2025 am 12:01 AM

GitHub的核心功能包括版本控制、分支管理、代碼審查、問題跟踪和項目管理。 1.版本控制與分支管理基於Git,允許追踪代碼變更和實驗性開發。 2.代碼審查通過PullRequest實現,提升代碼質量和團隊協作。 3.問題跟踪與項目管理通過Issues和項目管理板進行,提高項目透明度和可追踪性。

行動中的github:示例和用例行動中的github:示例和用例Apr 12, 2025 am 12:16 AM

GitHub是提升軟件開發效率和質量的強大工具。 1)版本控制:通過Git管理代碼變更。 2)PullRequests:進行代碼審查,提高代碼質量。 3)Issues:跟踪bug和項目進度。 4)GitHubActions:自動化構建、測試和部署流程。

git vs. github:版本控制和代碼託管git vs. github:版本控制和代碼託管Apr 11, 2025 am 11:33 AM

Git是版本控制系統,GitHub是基於Git的代碼託管平台。 Git用於管理代碼版本,支持本地操作;GitHub提供在線協作工具,如Issue跟踪和PullRequest。

什麼是簡單的話?什麼是簡單的話?Apr 09, 2025 am 12:12 AM

Git是一個開源的分佈式版本控制系統,幫助開發者跟踪文件變化、協同工作和管理代碼版本。它的核心功能包括:1)記錄代碼修改,2)回退到之前版本,3)協同開發,4)創建和管理分支進行並行開發。

git和github相同嗎?git和github相同嗎?Apr 08, 2025 am 12:13 AM

Git和GitHub不是同一回事。 Git是版本控制系統,GitHub是基於Git的代碼託管平台。 Git用於管理代碼版本,GitHub提供在線協作環境。

如何將github用於HTML?如何將github用於HTML?Apr 07, 2025 am 12:13 AM

使用GitHub管理HTML項目的原因是它提供了版本控制、協作開發和展示作品的平台。具體步驟包括:1.創建並初始化Git倉庫,2.添加和提交HTML文件,3.推送到GitHub,4.使用GitHubPages部署網頁,5.利用GitHubActions自動化構建和部署。此外,GitHub還支持代碼審查、Issue和PullRequest功能,幫助優化和協作開發HTML項目。

我應該從git還是github開始?我應該從git還是github開始?Apr 06, 2025 am 12:09 AM

從Git開始更適合深入理解版本控制原理,從GitHub開始更適合關注協作和代碼託管。 1.Git是一個分佈式版本控制系統,幫助管理代碼版本歷史。 2.GitHub是一個基於Git的在線平台,提供代碼託管和協作功能。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中