亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Git在項目協(xié)作開發(fā)中所解決問題

 更新時間:2022年04月22日 16:04:08   作者:繁華似錦Fighting  
這篇文章主要為大家介紹了Git在項目協(xié)作開發(fā)中所解決問題,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

1、Git的歷史

Git是目前世界上最先進的分布式版本控制系統(tǒng),開源、免費。

Git 是 Linus (林納斯)為了幫助管理 Linux 內(nèi)核開發(fā)而開發(fā)的一個開放源碼的版本控制軟件。

Tips:

Linus在1991年創(chuàng)建Linux,現(xiàn)在已經(jīng)成為最大的服務(wù)器系統(tǒng)軟件了。

Linux的壯大是靠全世界熱心的志愿者:

在2002年以前,世界各地的志愿者把源代碼文件發(fā)給Linus,然后由Linus本人通過手工方式合并代碼!

為什么Linus不把Linux代碼放到版本控制系統(tǒng)里呢?

不是有CVS、SVN這些免費的版本控制系統(tǒng)嗎?

因為Linus堅定地反對CVS和SVN,這些集中式的版本控制系統(tǒng)不但速度慢,而且必須聯(lián)網(wǎng)才能使用。

有一些商用的版本控制系統(tǒng),雖然比CVS、SVN好用,但那是付費的,和Linux的開源精神不符。

不過,到了2002年,Linux系統(tǒng)已經(jīng)發(fā)展了十年了,代碼庫之大讓Linus很難繼續(xù)通過手工方式管理了,社區(qū)的里也對這種方式表達了強烈不滿,于是Linus選擇了一個商業(yè)的版本控制系統(tǒng)BitKeeper,BitKeeper的東家BitMover公司出于人道主義精神,授權(quán)Linux社區(qū)免費使用這個版本控制系統(tǒng)。

安定團結(jié)的大好局面在2005年就被打破了,原因是Linux社區(qū)牛人聚集,開發(fā)Samba的這個人Andrew,試圖破解BitKeeper的協(xié)議(這么干的其實也不只他一個),被BitMover公司發(fā)現(xiàn)了,于是BitMover公司怒了,要收回Linux社區(qū)的免費使用權(quán)。

Linus花了兩周時間自己用C寫了一個分布式版本控制系統(tǒng),這就是Git!一個月之內(nèi),Linux系統(tǒng)的源碼已經(jīng)由Git管理了!

Linus 對新的版本控制系統(tǒng)制訂了若干目標,如下圖所示:

Git迅速成為最流行的分布式版本控制系統(tǒng),尤其是2008年,GitHub網(wǎng)站上線了,它為開源項目免費提供Git存儲,無數(shù)開源項目開始遷移至GitHub,包括jQuery,PHP,Ruby等等。

歷史就是這么偶然,如果不是當年BitMover公司威脅Linux社區(qū),可能現(xiàn)在我們就沒有免費而超級好用的Git了。

Git的發(fā)展歷史圖:

2、Git的特點

當Git剛剛推出的時候很多人還對他發(fā)生質(zhì)疑,但是不久之后因為Git具備非常好的特點,導(dǎo)致了開源社區(qū)很多項目沒過多久,就陸陸續(xù)續(xù)的從SVN上轉(zhuǎn)移到Git上來進行版本控制。

(1)Git的特點如下:

  • Git中每個克隆(clone)的版本庫都是平等的。你可以從任何一個版本庫的克隆來創(chuàng)建屬于你自己的版本庫,同時你的版本庫也可以作為源提供給他人,只要你愿意。
  • Git的每一次拉取操作,實際上都是一次對代碼倉庫的完整備份。
  • 提交完全在本地完成,無須別人給你授權(quán),你的版本庫你作主,并且提交總是會成功。
  • 甚至基于舊版本的改動也可以成功提交,提交會基于舊的版本創(chuàng)建一個新的分支。
  • Git的提交不會被打斷,直到你的工作完全滿意了,PUSH給他人或者他人PULL你的版本庫,合并會發(fā)生在PULL和PUSH過程中,不能自動解決的沖突會提示您手工完成。
  • 沖突解決不再像是SVN一樣的提交競賽,而是在需要的時候才進行合并和沖突解決。
  • Git版本庫統(tǒng)一放在服務(wù)器中。Git 也可以模擬集中式的工作模式,同時Git 的集中式工作模式非常靈活,
  • 團隊的成員先將服務(wù)器的版本庫克隆到本地;并經(jīng)常的從服務(wù)器的版本庫拉(PULL)最新的更新。
  • 團隊的成員將自己的改動推(PUSH)到服務(wù)器的版本庫中,當其他人和版本庫同步(PULL)時,會自動獲取改變。
  • 你完全可以在脫離Git服務(wù)器所在網(wǎng)絡(luò)的情況下,如移動辦公/出差時,照常使用代碼庫。
  • 你只需要在能夠接入Git服務(wù)器所在網(wǎng)絡(luò)時,PULL和PUSH即可完成和服務(wù)器同步以及提交。
  • Git提供 rebase 命令,可以讓你的改動看起來是基于最新的代碼實現(xiàn)的改動。
  • Git 有更多的工作模式可以選擇,遠非 Subversion可比。
  • 協(xié)同修改,多人可并行修改服務(wù)器端的同一個文件。
  • 數(shù)據(jù)備份,不僅保存目錄和文件的當前狀態(tài),還能夠保存每一個提交過的歷史狀態(tài)。
  • 版本管理,在保存每一個版本的文件信息的時候要做到不保存重復(fù)數(shù)據(jù),以節(jié)約存儲空間,提高運行效率。這方面SVN采用的是增量式管理的方式,而Git采取了文件系統(tǒng)快照的方式(對比Hash值)。
  • 權(quán)限控制,對團隊中參與開發(fā)的人員進行權(quán)限控制。誰能創(chuàng)建版本庫,誰能向版本庫PUSH,誰能夠讀?。寺。┌姹編?。對團隊外開發(fā)者貢獻的代碼進行審核,通過fork。(Git獨有)。
  • 歷史記錄,查看修改人、修改時間、修改內(nèi)容、日志信息。將本地文件恢復(fù)到某一個歷史狀態(tài)。
  • 分支管理,允許開發(fā)團隊在工作過程中多條生產(chǎn)線同時推進任務(wù),進一步提高效率。

(2)簡單說明:

Git有最優(yōu)的存儲能力以及非凡的性能,得益于林納斯(Linus Torvalds:林納斯·本納第克特·托瓦茲,Linux內(nèi)核的發(fā)明人)本身的這個技能,他是Linux內(nèi)核專家,也是文件系統(tǒng)的管理專家。所以他開發(fā)出來的Git具備了最優(yōu)的存儲能力以及非凡的性能。林納斯它本身就是崇尚開源的,所以他開發(fā)的Git也是開源的。

Git還很容易做備份,還支持離線的操作?;贕it的分支管理的成本是非常低的,而且也非常容易定制工作流程。

在實際使用分布式版本控制系統(tǒng)的時候,其實很少在兩人之間的電腦上推送版本庫的修改,因為可能你們倆不在一個局域網(wǎng)內(nèi),兩臺電腦互相訪問不了,也可能今天你的同事病了,他的電腦壓根沒有開機。因此分布式版本控制系統(tǒng)通常也有一臺充當”中央服務(wù)器”的電腦,但這個服務(wù)器的作用僅僅是用來方便“交換”大家的修改,沒有它大家也一樣干活,只是交換修改不方便而已。

3、Git在項目協(xié)作開發(fā)中所解決的問題

  • 多人協(xié)作,出現(xiàn)代碼沖突 (版本控制工具)
  • 多人協(xié)作,在代碼整合期間引發(fā)BUG(回滾)
  • 多人協(xié)作,領(lǐng)導(dǎo)要看項目 (版本歷史)
  • 多人協(xié)作,用戶身份的控制(權(quán)限管理)
  • 項目版本的發(fā)布問題 (標志&里程碑管理)

參考: http://chabaoo.cn/article/245619.htm

以上就是Git在項目協(xié)作開發(fā)中所解決問題的詳細內(nèi)容,更多關(guān)于Git項目協(xié)作開發(fā)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Spark在Windows下的環(huán)境搭建方法

    Spark在Windows下的環(huán)境搭建方法

    這篇文章主要介紹了Spark在Windows下的環(huán)境搭建方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-06-06
  • 基于Token的身份驗證之JWT基礎(chǔ)教程

    基于Token的身份驗證之JWT基礎(chǔ)教程

    JWT(json web token)是為了在網(wǎng)絡(luò)應(yīng)用環(huán)境間傳遞聲明而執(zhí)行的一種基于JSON的開放標準。下面這篇文章主要給大家介紹了關(guān)于基于Token的身份驗證之JWT的基礎(chǔ)相關(guān)資料,文中通過示例代碼的非常詳細,需要的朋友可以參考下
    2018-09-09
  • 字符編碼詳解及由來(UNICODE,UTF-8,GBK) 比較詳細

    字符編碼詳解及由來(UNICODE,UTF-8,GBK) 比較詳細

    很久很久以前,有一群人,他們決定用8個可以開合的晶體管來組合成不同的狀態(tài),以表示世界上的萬物。他們看到8個開關(guān)狀態(tài)是好的,于是他們把這稱為字節(jié)
    2012-04-04
  • Atom-IDE 的使用方法簡單介紹

    Atom-IDE 的使用方法簡單介紹

    這篇文章主要介紹了Atom-IDE 的使用方法簡單介紹的相關(guān)資料,Facebook 和 GitHub 兩大巨頭聯(lián)手推出 Atom-IDE,這里介紹下如何使用,希望通過本文能幫助到大家,需要的朋友可以參考下
    2017-09-09
  • 一個30多年編程經(jīng)驗的程序員總結(jié)

    一個30多年編程經(jīng)驗的程序員總結(jié)

    這篇文章主要介紹了一個30多年編程經(jīng)驗的程序員總結(jié),在我30多年的程序員生涯里,我學到了不少有用的東西,下面是我這些年積累的經(jīng)驗精華,需要的朋友可以參考下
    2014-09-09
  • 卷積神經(jīng)網(wǎng)絡(luò)Inception?V3網(wǎng)絡(luò)結(jié)構(gòu)圖

    卷積神經(jīng)網(wǎng)絡(luò)Inception?V3網(wǎng)絡(luò)結(jié)構(gòu)圖

    這篇文章主要為大家介紹了卷積神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)圖Inception?V3的結(jié)構(gòu)圖層詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • UTC時間、GMT時間、本地時間、Unix時間戳的具體使用

    UTC時間、GMT時間、本地時間、Unix時間戳的具體使用

    本文主要介紹了UTC時間、GMT時間、本地時間、Unix時間戳的具體使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • kettle?入門使用教程(最新版)

    kettle?入門使用教程(最新版)

    Kettle是一款國外開源的ETL工具,純java編寫,可以在Window、Linux、Unix上運行,數(shù)據(jù)抽取高效穩(wěn)定,本文以7.0.0.0-25版本為例給大家詳細講解下載安裝入門級教程,感興趣的朋友一起看看吧
    2022-11-11
  • GBK字符編碼(字符集)缺陷導(dǎo)致web安全漏洞

    GBK字符編碼(字符集)缺陷導(dǎo)致web安全漏洞

    很多時候,一個web站點,選擇什么樣的字符編碼,我們不會太過在意的。象中文網(wǎng)站,我們一般用gb2312,gbk,gb18030,也可以用utf-8。但是,可能我們不知道,選擇不同編碼,可能因此導(dǎo)致程序本身設(shè)計缺陷
    2016-06-06
  • ChatGPT將批量文檔翻譯成中文的方法

    ChatGPT將批量文檔翻譯成中文的方法

    文檔翻譯成中文軟件是指在處理文檔時,自動將文檔中的內(nèi)容翻譯成中文的軟件,本文就給大家介紹如何用ChatGPT將批量文檔翻譯成中文的方法,感興趣的同學跟著小編一起來學習吧
    2023-06-06

最新評論