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