最简单易懂的git介绍
什么是git
git是在我們寫代碼的時(shí)候幫我們進(jìn)行代碼版本管理的工具。他是一種非常高效的方式,避免了我們?nèi)斯さ拿看螌?duì)自己縮寫的代碼版本進(jìn)行更改,現(xiàn)在有很多的軟件本身就自帶了版本管理功能。
git是一個(gè)程序,也可以說是一個(gè)軟件,但是git不會(huì)像正常的軟件一樣啟動(dòng),他需要在終端用命令行的方式輸入git的相關(guān)命令來進(jìn)行操作。
git是怎么進(jìn)行版本控制的
我們可以把文件夾想象成是一個(gè)文件展示臺(tái),在這個(gè)文件展示臺(tái)下有一個(gè)后臺(tái),git在這個(gè)后臺(tái)幫我們對(duì)這個(gè)代碼文件版本進(jìn)行管理。git決定了在這個(gè)展示臺(tái)上該顯示什么版本的文件。而在這個(gè)后臺(tái)有一個(gè)專門負(fù)責(zé)檔案管理的管理員(暫且叫他master)
先在文件夾里新建一個(gè)文本文件, 這個(gè)文件編輯好之后保存,這個(gè)文件就是第一個(gè)版本。文件的存檔分為兩步:
第一步,先告訴git要對(duì)哪些文件進(jìn)行存檔。在git里有一個(gè)暫存區(qū),當(dāng)你要對(duì)某些修改過的文件進(jìn)行存檔,需要先將這些文件添加到暫存區(qū)。master會(huì)自動(dòng)把暫存區(qū)的文件變化記錄到存檔中。
然后, 在第二次修改這個(gè)文件的時(shí)候,master會(huì)再次存檔,這樣存檔記錄調(diào)就會(huì)有兩條記錄,文件中顯示的內(nèi)容是最新版本的文件內(nèi)容。
當(dāng)你有了多個(gè)存檔記錄的時(shí)候,就可以通過git在記錄檔案之間來回切換。文件中的顯示內(nèi)容就會(huì)顯示當(dāng)前所選版本的內(nèi)容。
這些就是git中對(duì)文件的讀檔和存檔操作。
git的分支
1.分支的使用
分支是git中一個(gè)非常重要的概念,英文名是branch。當(dāng)你對(duì)一個(gè)文件夾進(jìn)行初始化的時(shí)候,就自動(dòng)對(duì)這個(gè)文件夾創(chuàng)建了一個(gè)分支。可以把每一個(gè)分支理解為一個(gè)檔案管理員。之前的每一次讀檔和存檔的操作都是在master的分支當(dāng)中。
在一開始,git會(huì)自動(dòng)給你創(chuàng)建一個(gè)名叫master的管理員分支,當(dāng)你在master分支下創(chuàng)建一個(gè)新的分支,比如說叫fixbug,可以理解為git幫你分配了一個(gè)新檔案管理的管理員。git會(huì)將master管理員的檔案記錄條上最新的存檔記錄作為fixbug一開始工作的檔案記錄條的初始記錄。(每次工作時(shí)只能選擇一個(gè)檔案管理員)
需要使用那個(gè)管理員,就需要先切換到對(duì)應(yīng)的分支。例如,我現(xiàn)在要使用fixbug管理員,我需要先切換到fixbug分支中。如下圖:
然后我把這個(gè)文件的名字改為分支二,然后記錄存檔。如下圖:
接著我把分支切換回分支master,會(huì)發(fā)現(xiàn)這個(gè)文檔的名稱又變回了原來的名字。如下圖:
當(dāng)我再切換回fixbug的分支的時(shí)候,文件的名字就又變回了分支二。
2.分支的特點(diǎn)
1. 在新的分支中,同樣可以對(duì)文件進(jìn)行讀檔和存檔,每個(gè)分支使用的都是各自的檔案記錄條,相互不沖突。上一個(gè)分支的最后一個(gè)記錄作為下一個(gè)分支開始的記錄。
2. 在git中,不僅在分支中可以切換不同的存檔記錄,而且分支之間也可以相互切換。當(dāng)你切換分支的時(shí)候,文件夾中的文件信息就是切換到的分支下最后一次存檔的狀態(tài)。
3. 在分支中修改文件內(nèi)容的時(shí)候,不會(huì)影響之前或者其余的分支,分支和分支之間是獨(dú)立的。
4. 分支是可以隨意創(chuàng)建的。也可以合并分支。
分支舉例
比如我要用git開發(fā)我自己的個(gè)人網(wǎng)站,我會(huì)把網(wǎng)站的初始文件都放到一個(gè)文件夾中,然后用git進(jìn)行初始化。 這樣git就默認(rèn)給我分配了一個(gè)master 的分支。先將初始化的文件在master分支存檔。如下圖:
然后自己新建一個(gè)develop 分支,master分支專門用來管理可發(fā)布代碼的版本,而主要的開發(fā)工作在develop分支進(jìn)行。(前提是切換到develop分支)
在開發(fā)過程中,每次開發(fā)完一個(gè)功能都進(jìn)行一次存檔。開發(fā)完之后,假設(shè)網(wǎng)站可以暫時(shí)上線了,那么就需要將develop分支合并到master分支上。切換回master分支,然后把develop分支合并到master分支上。(注意: master上合并只是將develop分支最后一個(gè)最新的存檔記錄復(fù)制到了master分支的最后一個(gè)存檔記錄上,因此develop分支仍然存在。)
這樣,master分支上就有最新的代碼,就可以發(fā)布上線了。由于develop分支仍然存在,可以繼續(xù)在該分支上接著開發(fā)網(wǎng)站的其他功能。
假設(shè)在這個(gè)時(shí)候發(fā)現(xiàn)網(wǎng)站上有一個(gè)bug,這個(gè)時(shí)候就需要在master分支下新建一個(gè)bugfix 分支,切換到bugfix分支對(duì)bug進(jìn)行修改。修改完之后提交并進(jìn)行存檔。
接著切換回master分支,再把bugfix分支合并過來,就完成了對(duì)bug的修復(fù)。然后還要將master分支的代碼合并到develop分支上,這樣可以把develop分支上存在的bug也修復(fù)了。
依次重復(fù)。
分支的優(yōu)點(diǎn)
使用分支可以讓各個(gè)業(yè)務(wù)的代碼保持獨(dú)立,不同的代碼處理需求可以同步進(jìn)行,避免了相互影響。完成之后可以再合并到專門用來發(fā)布代碼的分支中。分支內(nèi)部的存檔、讀檔、創(chuàng)建、切換、合并等功能就是git實(shí)現(xiàn)代碼版本管理的核心。
文章資料參考:YouTube 學(xué)習(xí)呀三木git介紹
總結(jié)
以上是生活随笔為你收集整理的最简单易懂的git介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 原来JSON还可这样玩着
- 下一篇: 三年级竖式计算机应用题,三年级下册数学竖