Git是(shì)一(yī / yì /yí)款免費、開源的(de)分布式版本控制系統,用于(yú)敏捷高效地(dì / de)處理任何或小或大(dà)的(de)項目。
Git是(shì)一(yī / yì /yí)個(gè)開源的(de)分布式版本控制系統,可以(yǐ)有效、高速的(de)處理從很小到(dào)非常大(dà)的(de)項目版本管理。Git 是(shì) Linus Torvalds 爲(wéi / wèi)了(le/liǎo)幫助管理 Linux 内核開發而(ér)開發的(de)一(yī / yì /yí)個(gè)開放源碼的(de)版本控制軟件。
同生活中的(de)許多偉大(dà)事件一(yī / yì /yí)樣,Git 誕生于(yú)一(yī / yì /yí)個(gè)極富紛争大(dà)舉創新的(de)年代。Linux 内核開源項目有着爲(wéi / wèi)數衆廣的(de)參與者。絕大(dà)多數的(de) Linux 内核維護工作都花在(zài)了(le/liǎo)提交補丁和(hé / huò)保存歸檔的(de)繁瑣事務上(shàng)(1991-2002年間)。到(dào) 2002 年,整個(gè)項目組開始啓用分布式版本控制系統 BitKeeper 來(lái)管理和(hé / huò)維護代碼。到(dào)了(le/liǎo) 2005 年,開發 BitKeeper 的(de)商業公司同 Linux 内核開源社區的(de)合作關系結束,他(tā)們收回了(le/liǎo)免費使用 BitKeeper 的(de)權力,因此 Torvalds 決定着手研究許可證更爲(wéi / wèi)靈活的(de)版本控制系統。盡管最初 Git 的(de)開發是(shì)爲(wéi / wèi)了(le/liǎo)輔助 Linux 内核開發的(de)過程,但是(shì)我們已經發現在(zài)很多其他(tā)自由軟件項目中也(yě)使用了(le/liǎo) Git。例如 很多 Freedesktop 的(de)項目遷移到(dào)了(le/liǎo) Git 上(shàng)。
理論上(shàng),Git 可以(yǐ)保存任何文檔,但是(shì)最善于(yú)保存文本文檔,因爲(wéi / wèi)它本來(lái)就(jiù)是(shì)爲(wéi / wèi)解決軟件源代碼(也(yě)是(shì)一(yī / yì /yí)種文本文檔)版本管理問題而(ér)開發的(de),提供了(le/liǎo)許多有助于(yú)文本分析的(de)工具。對于(yú)非文本文檔,Git 隻是(shì)簡單地(dì / de)爲(wéi / wèi)其進行備份并實施版本管理。
git和(hé / huò)svn 最大(dà)的(de)差異在(zài)于(yú)git是(shì)分布式的(de)管理方式而(ér)svn是(shì)集中式的(de)管理方式。如果不(bù)習慣用代碼管理工具,可能比較難理解分布式管理和(hé / huò)集中式管理的(de)概念。下面介紹兩種工具的(de)工作流程(團隊開發),通過閱讀下面的(de)工作流程,你将會很好的(de)理解以(yǐ)上(shàng)兩個(gè)概念。
git和(hé / huò)github有什麽區别?
我們隻要(yào / yāo)簡單的(de)記住git是(shì)一(yī / yì /yí)種版本控制系統。跟svn、cvs是(shì)同級的(de)概念。
github是(shì)一(yī / yì /yí)個(gè)網站,給用戶提供git服務。這(zhè)樣你就(jiù)不(bù)用自己部署git系統,直接用注冊個(gè)賬号,用他(tā)們提供的(de)git服務就(jiù)可以(yǐ)。
同類的(de)網站還有coding、oschina等。
git雖然好用,但是(shì)如果想在(zài)服務器上(shàng)自動部署用git管理的(de)代碼。必須是(shì)一(yī / yì /yí)台獨立的(de)服務器,可以(yǐ)使用ssh鏈接。那麽我們平時(shí)使用的(de)ftp服務器可以(yǐ)嗎?理論上(shàng)是(shì)不(bù)行的(de),不(bù)過我們最近開發出(chū)了(le/liǎo)一(yī / yì /yí)個(gè)mfploy的(de)系統就(jiù)是(shì)爲(wéi / wèi)了(le/liǎo)解決這(zhè)個(gè)問題,有這(zhè)方面需求的(de)朋友可以(yǐ)關注一(yī / yì /yí)下。也(yě)可以(yǐ)參考git-ftp這(zhè)個(gè)腳本。