Git的簡單介紹

2022-02-05 00:35:36 字數 2251 閱讀 5637

每次看到別人寫git的文章,同學中也有用git感覺很高大上的感覺,工作中用的是svn,週末倒騰了一下git,git是一款免費、開源的分布式版本控制系統,用於敏捷高效地處理任何或小或大的專案。git 與其他的版本控制工具 cvs, svn,vss相比,它採用了分布式版本庫的方式,可以離線提交**,**儲存在本地,可以享受svn聯網能進行的一系列操作,如果你需要推送到伺服器只需要push一下即可,每個人都是乙個獨立的倉庫。

說到git,不得不提的乙個人是linus torvalds,linus跟linux差了乙個字母,這哥們就是linux的核心作者,芬蘭人,現在隨著linux和git的迅猛發展,大家都對linus大牛的了解就更深刻一些。從91開始建立了開源的系統軟體linux一直到2023年,linus一直都是手動的合併**,,哥們手動了十年,拋開技術不談,就這個耐性就值得佩服。linus認為cvs集中式控制太慢不適合控制,而且需要聯網,後來2023年出現的svn也同樣找到了linus的棄用,2023年的時候由於linux發展的原因,手工合併**太慢採用了商業系統軟體bitkeeper,linus一直使用bitmover公司的bitkeeper scm(軟體配置管理)進行linux執行管理。linus在乙份宣告中曾表示,「我一向不熱衷於開發開放源控制工具,而現在正是這一缺憾阻礙了我跟大多同行的交流。」他說,「bitkeeper正好解決了這一燃眉之急,使得工作效率倍增,其可複製傳播的本性方便我與任意同行之間交流和合作。」

當然,並不是每一位自由軟體或開放社群人士都與托沃茲一樣喜歡bitkeeper,因為它是享有智財權的一套程式。使用擁有智財權的工具來管理開放源軟體的開發早已引發了激烈的爭議。事實上,持有不同意見的主要是開放社群的兩大陣營,乙個是以linus為代表的實用主義者,他們主張只要是合適的工具就拿來使用,不管是版權產品還是開放軟體;而另一陣營是以理查德·斯托爾曼(richard stallman)為代表的純自由軟體論者,他們認為使用版權軟體違背了自由軟體的本質。

在有關開放源社群是否應該對bitkeeper進行「逆向工程」的爭議進行之時, samba cifs(通用網際網路檔案系統)伺服器專案的聯合創始人andrew tridgell開發了一款新程式sourcepuller,與bitkeeper資料通用。tridgel作為osdl(開放源開發實驗室)的第二任掌門人,追隨者自然是有樣學樣。這個時候bitmover非常憤怒,收回來商業版bitkeeper在linux的使用權,與之對應的提供了乙個功能相對差點的linux開源版本,並威脅說「如果你開發類似的軟體,就不能使用bp」

自此linus對bp好感全無,閉關修煉兩周之後用c寫了額乙個分布式控制系統(c沒學好的我只能仰望了),之後的linux的系統原始碼就由git管理了,git成為最流行的分布式版本控制系統

github在2023年上線之後它為開源專案免費提供git儲存,無數開源專案開始遷移至github,包括jquery,php,ruby on rails,android,yui等。

下面放一下自己的安裝過程吧:

基本資訊介紹,直接next:

選擇路徑之後直接next:

將圖示放在桌面,方便使用,next:

預設的使用git bash進行版本控制:

預設的window窗體樣式:

d等待幾分鐘:

安裝完成:

最後測試一下是否成功,雙擊git bash,紅色是計算機名,如果出現了則證明安裝成功了:

Git的簡單介紹

同生活中的許多偉大事物一樣,git 誕生於乙個極富紛爭大舉創新的年代。linux 核心開源專案有著為數眾多的參與者。絕大多數的 linux 核心維護工作都花在了提交補丁和儲存歸檔的繁瑣事務上 1991 2002年間 到 2002 年,整個專案組開始啟用乙個專有的分布式版本控制系統 bitkeeper...

git的簡單命令介紹

git init 初始化倉庫,在本地生成.git資料夾,附帶master分支的生成。git config global user.name name git config global user.email email 簽名配置。git使用使用者名稱和email表示簽名,方別識別。配上之後每次提交的...

git簡單介紹(1)

git是乙個流行的分布式版本控制工具,在本地存放版本庫,在斷網時可以將 提交到本地,待有網時再把 提交到遠端庫,而集中式的svn共用乙個版本庫,必須在網路連通的情況下才能工作。我使用的windows平台,安裝過程略去。我們建立乙個目錄來作為工作空間 working tree mkdir mygitc...