您好呀 Git ,我是小二!
各位客官您里邊請(qǐng),這是小二為您帶來(lái)的一道新菜:Git 。
想必客官您對(duì)這道菜一定不陌生,在別地兒也應(yīng)該吃了很多次。
但在小二這,肯定是頭一次,希望能給您帶來(lái)不一樣的口感。
在這里表明一下我的個(gè)人想法
1、文章盡可能以我初學(xué)時(shí)的視角,來(lái)分享;
2、配合圖片、動(dòng)圖等,盡可能的做到通俗易懂,便于理解;
3、如有錯(cuò)誤,請(qǐng)多指教,能力有限,還望各位客官海涵!
0 小二絮叨
還沒(méi)有真正使用 Git 的時(shí)候,就聽(tīng)身邊的人在討論。
最讓我印象深刻的,就是 GitHub 添加本地 SSH 密鑰的問(wèn)題,看他們討論的樣子,覺(jué)得哇,好麻煩呢!
這樣上手難度豈不是很大?
直到后來(lái)寫文章的圖床要用到 Git ,才開(kāi)始慢慢摸索。
現(xiàn)在想想多摸索摸索還是有用的,最起碼印象更加深刻了。
本著分享知識(shí)的想法,總結(jié)自己的學(xué)習(xí)過(guò)程,希望能幫到您💖💖💖
1 Git是什么?
老生常談的問(wèn)題了,先給您奉上一些權(quán)威鏈接,然后再奉上我的理解。
1、Git 官網(wǎng)(https://git-scm.com/)
2、Git 官網(wǎng)幫助文檔(內(nèi)含視頻教程)(https://git-scm.com/doc)
3、廖雪峰老師的 Git 教程(https://www.liaoxuefeng.com/wiki/896043488029600)
(廖老師 Git 首頁(yè)這篇文章,閱讀量高達(dá) 300 億,太強(qiáng)了🐂🐂🐂)
最近從彭東老師那里,學(xué)來(lái)一個(gè)思想,很有感觸,分享給您:
對(duì)于不熟悉的概念,不要糾結(jié)于名字本身的含義,而是要去看他的特點(diǎn)是什么?能用來(lái)做什么?
那就從這個(gè)角度,思考一下。
不管 “Git” 是什么,來(lái)看看他的特點(diǎn):版本控制、分布式…,能用來(lái)進(jìn)行代碼修改管理、文件修改管理…
想象一下,如果沒(méi)有版本管理軟件,我的文檔修改應(yīng)該是這樣的
如果用在代碼上面呢?簡(jiǎn)直無(wú)法想象。
那我認(rèn)為的 Git ,就是一個(gè)版本管理工具,可以讓我看到歷史修改記錄,可以進(jìn)行任意的版本操作,可以多人協(xié)作等等。
另外關(guān)于 Git 的誕生,參考廖老師的介紹,還是一段趣事呢,轉(zhuǎn)載內(nèi)容如下:
轉(zhuǎn)載自廖雪峰老師官網(wǎng),如有侵權(quán),請(qǐng)聯(lián)系我刪除,謝謝您!鏈接👉👉👉:https://www.liaoxuefeng.com/wiki/896043488029600/896202815778784
很多人都知道,Linus在1991年創(chuàng)建了開(kāi)源的Linux,從此,Linux系統(tǒng)不斷發(fā)展,已經(jīng)成為最大的服務(wù)器系統(tǒng)軟件了。
Linus雖然創(chuàng)建了Linux,但Linux的壯大是靠全世界熱心的志愿者參與的,這么多人在世界各地為L(zhǎng)inux編寫代碼,那Linux的代碼是如何管理的呢?
事實(shí)是,在2002年以前,世界各地的志愿者把源代碼文件通過(guò)diff的方式發(fā)給Linus,然后由Linus本人通過(guò)手工方式合并代碼!
你也許會(huì)想,為什么Linus不把Linux代碼放到版本控制系統(tǒng)里呢?不是有CVS、SVN這些免費(fèi)的版本控制系統(tǒng)嗎?因?yàn)長(zhǎng)inus堅(jiān)定地反對(duì)CVS和SVN,這些集中式的版本控制系統(tǒng)不但速度慢,而且必須聯(lián)網(wǎng)才能使用。有一些商用的版本控制系統(tǒng),雖然比CVS、SVN好用,但那是付費(fèi)的,和Linux的開(kāi)源精神不符。
不過(guò),到了2002年,Linux系統(tǒng)已經(jīng)發(fā)展了十年了,代碼庫(kù)之大讓Linus很難繼續(xù)通過(guò)手工方式管理了,社區(qū)的弟兄們也對(duì)這種方式表達(dá)了強(qiáng)烈不滿,于是Linus選擇了一個(gè)商業(yè)的版本控制系統(tǒng)BitKeeper,BitKeeper的東家BitMover公司出于人道主義精神,授權(quán)Linux社區(qū)免費(fèi)使用這個(gè)版本控制系統(tǒng)。
安定團(tuán)結(jié)的大好局面在2005年就被打破了,原因是Linux社區(qū)牛人聚集,不免沾染了一些梁山好漢的江湖習(xí)氣。開(kāi)發(fā)Samba的Andrew試圖破解BitKeeper的協(xié)議(這么干的其實(shí)也不只他一個(gè)),被BitMover公司發(fā)現(xiàn)了(監(jiān)控工作做得不錯(cuò)!),于是BitMover公司怒了,要收回Linux社區(qū)的免費(fèi)使用權(quán)。
Linus可以向BitMover公司道個(gè)歉,保證以后嚴(yán)格管教弟兄們,嗯,這是不可能的。實(shí)際情況是這樣的:
Linus花了兩周時(shí)間自己用C寫了一個(gè)分布式版本控制系統(tǒng),這就是Git!一個(gè)月之內(nèi),Linux系統(tǒng)的源碼已經(jīng)由Git管理了!牛是怎么定義的呢?大家可以體會(huì)一下。
Git迅速成為最流行的分布式版本控制系統(tǒng),尤其是2008年,GitHub網(wǎng)站上線了,它為開(kāi)源項(xiàng)目免費(fèi)提供Git存儲(chǔ),無(wú)數(shù)開(kāi)源項(xiàng)目開(kāi)始遷移至GitHub,包括jQuery,PHP,Ruby等等。
歷史就是這么偶然,如果不是當(dāng)年BitMover公司威脅Linux社區(qū),可能現(xiàn)在我們就沒(méi)有免費(fèi)而超級(jí)好用的Git了。
2 初次見(jiàn)面
小二今天是入職第一天,與張三、李四、王五等成了同事,大家都很開(kāi)心。
既然入職了,肯定要先做一個(gè)自我介紹呀,下面這位就是 小二本二
當(dāng)然不能忘了介紹小二的同事呀,這位是羅翔老師口中的 XXXX 張三
對(duì)了,這位是技術(shù)大牛 李四
這位是性格活潑,技術(shù)與小二對(duì)比,不(gao)相(chu)上(yi)下(jie)的 王五
來(lái)看一看強(qiáng)大的開(kāi)發(fā)服務(wù)器(憑空捏造🤷🤷🤷)
3 撥云見(jiàn)日
知道了 Git 之后,再來(lái)看看這三位 GitHub 、GitLab 、Gitee 是哪路神仙?
可以很確定的一點(diǎn)是:這三位都是基于 Git 作為版本管理工具的。
GitHub 是一個(gè)軟件托管平臺(tái),也被稱為 全球最大同性交友網(wǎng)站 ,目前在 微軟 旗下。
官網(wǎng)鏈接:https://github.com/
百度百科:https://baike.baidu.com/item/Github/10145341?fr=aladdin
Gitee 也是一個(gè)軟件托管平臺(tái),目前屬于 開(kāi)源中國(guó) ,還有一個(gè)響當(dāng)當(dāng)?shù)拿?#xff1a;碼云 。
官網(wǎng)鏈接:https://gitee.com/
百度百科:https://baike.baidu.com/item/Gitee/56133127?fr=aladdin
這兩位對(duì)我們來(lái)說(shuō),代碼全部是存放在 云端 服務(wù)器上。
GitLab 我理解是一個(gè)工具 / 軟件,一般部署在私有(本地)服務(wù)器上,同樣可以提供 Web 訪問(wèn)界面。
官網(wǎng)鏈接:https://about.gitlab.com/
百度百科:https://baike.baidu.com/item/gitlab/3059600?fr=aladdin
一般小二會(huì)和同事們,在開(kāi)發(fā)服務(wù)器上工作。而 GitLab 會(huì)部署在同一局域網(wǎng)的其他服務(wù)器上。
(PS:僅以我目前從事的嵌入式開(kāi)發(fā)工作為例,簡(jiǎn)單說(shuō)明😉😉😉)
4 下回分解
好了各位客官,不知您現(xiàn)在對(duì)這幾位,了解的怎么樣了?
如果有疑問(wèn) / 想法 / 建議或意見(jiàn),歡迎留言或者加我微信好友溝通哦💖
下節(jié)小二將為您帶來(lái)一些基本使用方法,以及基本的安裝配置等,敬請(qǐng)期待???
總結(jié)
以上是生活随笔為你收集整理的您好呀 Git ,我是小二!的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Markov Chains
- 下一篇: startuml如何画流程图_实例介绍用