新鄉(xiāng)網(wǎng)站優(yōu)化公司價(jià)格網(wǎng)絡(luò)服務(wù)包括哪些內(nèi)容
1 git簡(jiǎn)介
Git是一種分布式版本控制工具,用于跟蹤文件和代碼的變化,協(xié)調(diào)多個(gè)開發(fā)者之間的協(xié)作,并提供版本控制和代碼管理的功能。
官方學(xué)習(xí)可參考文檔->
Git版本控制工具特點(diǎn)總結(jié)如下:
- 分布式版本控制:Git采用分布式版本控制系統(tǒng),每個(gè)開發(fā)者都可以在本地?fù)碛型暾拇a倉庫副本。這意味著即使在沒有網(wǎng)絡(luò)連接的情況下,開發(fā)者仍然可以進(jìn)行代碼管理和版本控制的操作。
- 快速性能:Git設(shè)計(jì)時(shí)注重性能,執(zhí)行速度非常快。Git使用了一種稱為"快照"的機(jī)制,記錄文件和代碼的狀態(tài)變化,而不是存儲(chǔ)每個(gè)版本的完整副本。這種設(shè)計(jì)使得Git在處理大型項(xiàng)目和大量文件時(shí)也能保持高效。
- 分支管理:Git鼓勵(lì)使用分支進(jìn)行開發(fā),每個(gè)開發(fā)者可以創(chuàng)建自己的分支進(jìn)行工作,這樣可以獨(dú)立開發(fā)和測(cè)試新功能,而不會(huì)影響主代碼庫。分支可以輕松地創(chuàng)建、合并和刪除,使得團(tuán)隊(duì)協(xié)作更加靈活高效。
- 版本控制:Git可以記錄代碼的每個(gè)版本和變化,開發(fā)者可以隨時(shí)回退到之前的版本,查看修改歷史,并比較不同版本之間的差異。這種版本控制功能使得團(tuán)隊(duì)能夠更好地追蹤和管理代碼的演進(jìn)過程,同時(shí)提供了一種回滾和修復(fù)錯(cuò)誤的機(jī)制。
- 分布式協(xié)作:Git支持多人協(xié)作開發(fā),開發(fā)者可以將自己的代碼推送到遠(yuǎn)程代碼倉庫,與團(tuán)隊(duì)成員分享和合并代碼。Git提供了強(qiáng)大的合并和沖突解決工具,能夠幫助開發(fā)者協(xié)調(diào)不同人員的代碼變更,確保代碼的一致性和質(zhì)量。
- 開源和廣泛支持:Git是一個(gè)開源項(xiàng)目,擁有龐大的社區(qū)支持和活躍的開發(fā)者社區(qū)。Git支持多種平臺(tái)(如Windows、Mac、Linux等)和集成開發(fā)環(huán)境(如Git GUI、Visual Studio Code、Eclipse等),并且有大量的文檔、教程和資源可用于學(xué)習(xí)和使用。
總而言之,Git是一個(gè)功能強(qiáng)大、高效、靈活且廣泛使用的版本控制工具,它為開發(fā)者和團(tuán)隊(duì)提供了一套強(qiáng)大的工具和機(jī)制,以有效管理和控制代碼的版本、變化和協(xié)作。
2 git 基本提交相關(guān)命令
在執(zhí)行之前先配置git,安裝Git后首先要做的事情是設(shè)置用戶名稱和e-mail地址:
git config --global user.name "xxx"
git config --global user.email "xxx"
列出git可以在該處找到的所有的設(shè)置
git config --list
一般提交最簡(jiǎn)單流程如下所示
2.1更新代碼
#1 第一種方法
$git fetch
$git merge origin/master
#2 第二種方法,兩者等價(jià)
$git pull 更新最新代碼
2.2 git add/rm操作,添加/刪除文件?
# 添加/刪除文件X, 本地和遠(yuǎn)程同步
$git add X/git rm X
# 強(qiáng)制添加所有文件,即使是.gitignore忽視的文件也添加
$git add -f
# 這表表示刪除遠(yuǎn)程文件A,但不刪除本地文件A
$git rm --cached A
2.3 git commit操作,提交代碼
# 提交并添加提交注釋信息
$git commit -m "commit message 1"
# 加了-a,在commit的時(shí)候,可以省一步git add,但也只是對(duì)修改和刪除文件有效
$git commit -am "commit message 2"
2.4 push操作,推庫,將本地patch merge到遠(yuǎn)端
將本地的分支版本上傳到遠(yuǎn)程并合并
$git push <遠(yuǎn)程主機(jī)名> <本地分支名>:<遠(yuǎn)程分支名>
如果本地分支名與遠(yuǎn)程分支名相同,則可以省略冒號(hào):
$git push <遠(yuǎn)程主機(jī)名> <本地分支名>
#比如:
$git push origin master
如果當(dāng)前分支與遠(yuǎn)程分支之間存在追蹤關(guān)系,則本地分支和遠(yuǎn)程分支都可以省略。比如:
$git push origin
上面命令表示,將當(dāng)前分支推送到origin主機(jī)的對(duì)應(yīng)分支。如果當(dāng)前分支只有一個(gè)追蹤分支,那么主機(jī)名都可以省略。
$git push
之后就進(jìn)入到code reviewer環(huán)節(jié),reviewer確認(rèn)后代碼進(jìn)入庫。