摘要:了解是一個免費(fèi)開源的分布式版本控制系統(tǒng),它旨在快速高效地處理任何規(guī)模和范圍的項目。關(guān)鍵的挑戰(zhàn)是了解每個工具的命令和語言的差異,例如,中的意味著回滾當(dāng)前更改,恢復(fù)為正式版本。
了解Git
Git是一個免費(fèi)開源的分布式版本控制系統(tǒng)(DVCS),它旨在快速、高效地處理任何規(guī)模和范圍的項目。
Git是由Linux創(chuàng)建者Linus Torvalds發(fā)明的,用于支持龐大的、不同的Linux開發(fā)人員群體,但Git的受歡迎程度與http://github.com關(guān)系更緊密,Git已存在多年,但直到GitHub受歡迎程度激增之后,才在Linux社區(qū)之外獲得廣泛認(rèn)可。GitHub允許你免費(fèi)托管開源項目,它還提供簡單的鉤子和友好的用戶體驗,使Git更容易使用。
Mac Homebrew等其他項目也對Git投入很深,Homebrew允許你在Mac上安裝開源軟件包,構(gòu)建和管理這些公式的工具利用了Git,用于差異工具、制作補(bǔ)丁、管理資源,以及通過拉取請求提交新的和更新的包。
Git與其他DVCS另外兩個最受歡迎的DVCS選擇是Mercurial和Bazaar,Mercurial有命令行工具hg(以汞的化學(xué)符號命名),而Bazaar的命令行工具是bzr。
Mercurial與許多開源項目相關(guān)聯(lián),Ubuntu Linux背后的Canonical公司使用Bazaar,開發(fā)人員通常需要熟悉Git、Mercurial和Bazaar。
開發(fā)人員使用的DVCS通常由開發(fā)人員參與的組織決定,而不是由給定的一組功能決定,Git、Mercurial和Bazaar都具有基本功能,例如分支、標(biāo)簽、合并以及不依賴于中央服務(wù)器,目前使用Git的開發(fā)人員可能會在一年后在Mercurial管理的另一個項目開始工作。
關(guān)鍵的挑戰(zhàn)是了解每個工具的命令和語言的差異,例如,Mercurial中的hg revert意味著回滾當(dāng)前更改,恢復(fù)為正式版本。git revert意味著添加一個反轉(zhuǎn)先前編輯的新提交,Git有一個命令來支持像Mercurial這樣的更改,但它有一個不同的名稱。
Git與非分布式SCM幾個非分布式源代碼管理系統(tǒng)(SCM)早于DVCS并仍在使用中:
Subversion
CVS(并發(fā)版本系統(tǒng))
許多專有版本控制系統(tǒng)目前仍在大量使用,例如:
Rational ClearCase
Perforce
Visual SourceSafe
這些專有產(chǎn)品通常與其他軟件開發(fā)工具捆綁在一起,因此在某些軟件開發(fā)商店中根深蒂固。
與DVCS模型相反,這些系統(tǒng)中的關(guān)鍵因素是它們依賴中央服務(wù)器來保存跟蹤版本和分支所涉及的所有關(guān)鍵數(shù)據(jù),從本質(zhì)上講,開發(fā)人員在家中進(jìn)行多次提交,與此中央服務(wù)器斷開連接,然后將其添加到服務(wù)器,這不是內(nèi)置功能,其中一些系統(tǒng)增加了支持此類功能的特性,但它并不是其本質(zhì)的核心部分。
為了說明DVCS和非DVCS的SCM系統(tǒng)之間的區(qū)別,請考慮兩個人如何分別獨立工作,在使用DVCS時如何在某個遙遠(yuǎn)的地方會面,比如在游輪旅行中,并共享提交。共享提交將具有與中央服務(wù)器上相同的權(quán)限,使用非分布式SCM時,這兩個人只能共享代碼差異,而不能提交,為了使提交成為正式提交,必須在到家并訪問中央服務(wù)器時將提交發(fā)布到中央服務(wù)器。
DVCS的固有優(yōu)勢像Git這樣的工具的內(nèi)置優(yōu)勢在于每個擁有副本的人都擁有重建項目所需的一切,如果中央服務(wù)器崩潰且所有數(shù)據(jù)都丟失,則可以將任何遠(yuǎn)程副本指定為正式副本,因為它將具有足夠的信息以繼續(xù),如果開發(fā)人員沒有最新的提交,則會出現(xiàn)唯一的差異。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/73119.html
摘要:指南無論你正在構(gòu)建什么,這些指南都旨在讓你盡快提高工作效率使用團(tuán)隊推薦的最新項目版本和技術(shù)。使用進(jìn)行消息傳遞了解如何將用作消息代理。安全架構(gòu)的主題指南,這些位如何組合以及它們?nèi)绾闻c交互。使用的主題指南以及如何為應(yīng)用程序創(chuàng)建容器鏡像。 Spring 指南 無論你正在構(gòu)建什么,這些指南都旨在讓你盡快提高工作效率 — 使用Spring團(tuán)隊推薦的最新Spring項目版本和技術(shù)。 入門指南 這些...
摘要:調(diào)度任務(wù)本指南將指導(dǎo)你完成使用調(diào)度任務(wù)的步驟。創(chuàng)建調(diào)度任務(wù)現(xiàn)在你已經(jīng)設(shè)置了項目,可以創(chuàng)建調(diào)度任務(wù)。還有其他選項,例如,它指定從完成任務(wù)計算的調(diào)用之間的間隔,你還可以使用表達(dá)式進(jìn)行更復(fù)雜的任務(wù)調(diào)度。 調(diào)度任務(wù) 本指南將指導(dǎo)你完成使用Spring調(diào)度任務(wù)的步驟。 將要構(gòu)建什么 你將構(gòu)建一個應(yīng)用程序,使用Spring的@Scheduled注解每五秒打印一次當(dāng)前時間。 需要什么 大約15分鐘...
摘要:構(gòu)建服務(wù)本指南將引導(dǎo)你完成使用創(chuàng)建服務(wù)的過程。接下來,你將創(chuàng)建將為這些問候語提供服務(wù)的資源控制器。告訴在包中查找其他組件配置和服務(wù),允許它找到控制器。顯示日志輸出,該服務(wù)應(yīng)在幾秒內(nèi)啟動并運(yùn)行。 構(gòu)建RESTful Web服務(wù) 本指南將引導(dǎo)你完成使用Spring創(chuàng)建hello world RESTful Web服務(wù)的過程。 將要構(gòu)建什么 你將構(gòu)建一個接受HTTP GET請求的服務(wù): ht...
摘要:第章附錄附錄通用的應(yīng)用程序?qū)傩钥梢栽谖募?,文件,或作為命令行開關(guān),中指定各種屬性,本附錄提供了一個通用的屬性列表和對使用它們的底層類的引用。本示例文件僅作為指南,不要將整個內(nèi)容復(fù)制粘貼到應(yīng)用程序中,相反,只選擇你需要的屬性。 第X章. 附錄 附錄A. 通用的應(yīng)用程序?qū)傩?可以在application.properties文件,application.yml文件,或作為命令行開關(guān),中指定...
摘要:要從頭開始,請繼續(xù)使用構(gòu)建。文件夾應(yīng)包含項目運(yùn)行單元測試的報告。由于該項目尚未進(jìn)行任何單元測試,因此該報告無效。使用構(gòu)建項目是啟動構(gòu)建的首選方式。現(xiàn)在可用于構(gòu)建項目。概要恭喜您現(xiàn)在已經(jīng)創(chuàng)建了一個簡單而有效的構(gòu)建文件,用于構(gòu)建項目。 本指南將引導(dǎo)您使用Gradle構(gòu)建一個簡單的Java項目。 你要構(gòu)建什么 您將創(chuàng)建一個簡單的應(yīng)用程序,然后使用Gradle構(gòu)建它。 你需要什么 大約15分...
閱讀 3518·2021-11-24 09:39
閱讀 1943·2021-11-17 09:33
閱讀 3953·2021-10-12 10:12
閱讀 5276·2021-09-22 15:51
閱讀 1192·2019-08-30 13:11
閱讀 3648·2019-08-30 10:59
閱讀 680·2019-08-30 10:48
閱讀 1415·2019-08-26 13:48