一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Git基本思想:從SVN轉到Git

 天下小糧倉 2018-12-02

在蟲蟲管理的一個2000人QQ群中很多人也時常問這個問題,總之Git和SVN是兩個完全不同思維方式的版本管理,理解Git要完全拋棄SVN的思維和操作,如果還想以老的方式思維來用Git話,蟲蟲不建議他來用Git。

Git基本思想:從SVN轉到Git

Git相比叫傳統(tǒng)的基于文件SVN優(yōu)勢明顯,主要體現(xiàn)在天然分布式不怕丟失;不以文件為為基礎,基于Git的數(shù)據(jù)庫(commit哈希健值文件)的版本管理,分支、標簽等操作飛速,而不是緩慢地文件和目錄操作;Git下每個人都有一個獨特的工作區(qū)和分支,不必實時和中心服務器同步就可以;帶有社交性質的基于Fork——PR(MR)流程的,協(xié)作版本管理;最后就是基于gitlab running/github webhook的CI/CD開發(fā)一棧自動化流水線或者DevOPS。以上各個點都是Git的巨大獨特的優(yōu)勢,下面蟲蟲給大家一一論述下。

天然分布式版本庫存儲

和SVN中心集中式文件管理的倉儲管理不同,Git從設計到誕生就以融入了分布式基因。雖然Git也有服務器端的Github、Gitlab、Gogs等多種服務器端,但是Git所有操作都可以無服務器存在,你可以只在本地都能完成所有git操作,可以在目錄之間實現(xiàn)clone、push和pull等需要服務器端的操作。設置權限和通訊方法后,Git客戶端直接也完全可以實現(xiàn)這些操作。所以我們說Git是天然分布式,無需中心服務器 介入。Git服務器的引入一個好處就是把一些操作(比如添加證書,建立賬號、倉庫元信息)和通訊傳輸方法(http、ssh),及大量更多擴展功能在服務器端Web界面實現(xiàn)了,方便了用戶的使用。

分布式的一個好處是代碼變化push好的倉庫數(shù)據(jù),最少保留兩份:本地一份和服務器一份,不怕丟。

Git是數(shù)據(jù)庫,不是目錄文件

Git中倉庫信息都是以hash健值方式保存文件相當于一個數(shù)據(jù)庫,當用戶子工作區(qū)做了add操作后,此后變化信息就成了Git對象數(shù)據(jù)庫了(blob、commit、three對象)。通過git命令(git clone checkout rest)可以實現(xiàn)把git數(shù)據(jù)庫(commit歷史庫和暫存區(qū)),變化成用戶實際接觸到文件和目錄的工作區(qū)。

這是Git,獨特之處和優(yōu)勢之處,也是很多初學者迷惑指出,尤其拿之前使用SVN的人無法理解的。Git的四個區(qū)(工作區(qū)、暫存區(qū)、本地倉庫區(qū)和遠程倉庫區(qū)),五個狀態(tài)轉化流程如下:

Git基本思想:從SVN轉到Git

知道了這些Git就很多問題就都很好理解了。比如分支,比如標簽tag,比如Head這些都是對特定commit的指針,所以對拉分支,分支間轉化都很容易,不過把指針(分支,Head)指向某個commit,然后利用該commit ID再生成工作區(qū)而已,看上去就和在不同分支的文件目錄下切換,而且非常迅速,因為Git的是按照差異對比來生成差異的目錄和文件的。

Git的社交性和協(xié)作(Fork——PR/MR)

Git能夠有現(xiàn)在這么流行,當然還是歸根于其社交協(xié)作性質。基于Fork和PR/MR的協(xié)作流程鼓勵了任何人都可以參與到項目中來而無需做其他特殊操作,無需特殊權限設置和申請。通過Fork操作把任何倉庫都變成自己Owner的倉庫,然后想怎么改就怎么改,想怎么操作就怎么操作,完全有自己做主。改完了可以通過PR(github:Pull Request)MR(Gitlab Merge Request)在提交給遠倉庫,該過程可以自動做對比,原項目管理者可以review變化,如果沒問題就可以Merge 合并到倉庫,完成一個完美的協(xié)作閉環(huán)操作。

Git基本思想:從SVN轉到Git

由于這種社交性質的協(xié)作流,使得git廣泛地流行起來,也帶動了相關網(wǎng)站Github和Gitlab也流行起來。Githhub號稱”全球最大的同性別交友平臺“(碼農大多數(shù)是單身男)就是這么來的。

基于Git的CI/CD和DevOps

這是也git才特有的功能,借助于Gitlab runner和webhook實現(xiàn)代碼發(fā)布后,自動編譯、自動測試、自動安掃、自動發(fā)布的一棧式自動化流程,大大釋放開發(fā)過程繁雜的人力投入和流程,實現(xiàn)敏捷開發(fā),快速迭代。這是目前的軟件開發(fā)的大勢和未來發(fā)展的方向。特別是云和容器的技術的發(fā)展和不對實踐完善,這種一棧式解決方案越來越成熟,實現(xiàn)的功能越來越多,也被越來越多的企業(yè)開發(fā)團隊所采納。

Git基本思想:從SVN轉到Git

而且這一切實現(xiàn)在git來說就是一個yml配置而已,push后,后面一切都自動化完成,并反饋信息。很神奇很憧憬把。那就關注蟲蟲,來跟蟲蟲來學git和 DevOps。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    免费在线播放一区二区| 丰满少妇被猛烈插入在线观看| 日韩女优视频国产一区| 99久久人妻精品免费一区| 日本福利写真在线观看| 欧美二区视频在线观看| 国产av熟女一区二区三区蜜桃| 99视频精品免费视频播放| 自拍偷拍一区二区三区| 久久热在线视频免费观看| 久久精品亚洲欧美日韩| 国产成人人人97超碰熟女| 婷婷亚洲综合五月天麻豆| 久久精品国产亚洲av久按摩| 爽到高潮嗷嗷叫之在现观看| 欧美人妻一区二区三区| 久久综合日韩精品免费观看| 人妻中文一区二区三区| 久草国产精品一区二区| 深夜日本福利在线观看| 黄片免费在线观看日韩| 人妻内射精品一区二区| 日韩精品一区二区三区含羞含羞草| 国产内射一级一片内射高清视频 | 国产不卡免费高清视频| 欧美日韩成人在线一区| 又大又长又粗又猛国产精品| 国产一区二区三区免费福利| 成人精品视频一区二区在线观看| 一区二区欧美另类稀缺| 国产人妻熟女高跟丝袜| 国产在线视频好看不卡| 中文字幕日韩欧美一区| 亚洲中文字幕高清视频在线观看| 午夜午夜精品一区二区| 欧美日韩精品久久亚洲区熟妇人| 日本精品啪啪一区二区三区| 老司机亚洲精品一区二区| 日本一本不卡免费视频 | 91精品国自产拍老熟女露脸| 亚洲熟妇熟女久久精品 |