自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

漫話:如何給女朋友解釋什么是Git和GitHub?

新聞
想要介紹什么是GitHub,就要介紹下什么是Git,想要介紹什么是Git,那就不得不提版本控制。

 周末,我正在家里看電視,女朋友在一旁刷手機(jī),相安無事。誰知道,剛過了沒多久,她突然問我:

 

 

版本控制

想要介紹什么是GitHub,就要介紹下什么是Git,想要介紹什么是Git,那就不得不提版本控制。

我們知道,如果多臺計算機(jī)在同一個局域網(wǎng)中,是可以進(jìn)行局域網(wǎng)文件共享的。共享者可以通過設(shè)置把自己文件共享給他人進(jìn)行閱讀和修改。

 

對于同一份共享文件,如果又多個人需要修改的話會發(fā)生什么事情呢?假設(shè)現(xiàn)在有三個人,A分享了文件夾mhcoding,其中包含了三個文件mhcoding1.png,mhcoding2.png,mhcoding3.png,B和C需要對這份文件進(jìn)行修改。

B和C分別把mhcoding文件夾拷貝到自己的電腦上,然后進(jìn)行修改,改完之后需要再把自己修改上傳上去。B先改完了之后把自己的文件上傳上去,覆蓋了A的分享。之后C也改完了,也把自己的改動上傳上去。這樣,C就會把B的修改覆蓋掉。

為了上述這種問題,就需要通過一種方式來在C想要上傳文件的時候來提醒他,告訴他需要考慮到B已經(jīng)改過文件的事情。

比較好的方式就是通過版本控制。

如果使用了版本控制系統(tǒng),每一個團(tuán)隊(duì)成員都可以在任何時間對任何文件毫無顧慮的進(jìn)行修改,版本控制系統(tǒng)可以提醒我們文件修改沖突,甚至可以幫我們自動把多個人的改動合并到一起。

有了版本控制,我們還可以回溯查看以前某一個版本中具體文件的內(nèi)容,還可以查看某一次改動的變更內(nèi)容。非常適合團(tuán)隊(duì)協(xié)作。

 

版本控制的方式

本地版本控制系統(tǒng)

許多人習(xí)慣用復(fù)制整個項(xiàng)目目錄的方式來保存不同的版本,或許還會改名加上備份時間以示區(qū)別。這么做的好處就是簡單。不過壞處也不少:有時候會混淆所在的工作目錄,一旦弄錯文件丟了數(shù)據(jù)就沒法撤銷恢復(fù)。

為了解決這個問題,人們很久以前就開發(fā)了許多種本地版本控制系統(tǒng),大多都是采用某種簡單的數(shù)據(jù)庫來記錄文件的歷次更新差異。


集中化的版本控制系統(tǒng)

 

接下來人們又遇到一個問題,如何讓在不同系統(tǒng)上的開發(fā)者協(xié)同工作?于是,集中化的版本控制系統(tǒng)應(yīng)運(yùn)而生。

這類系統(tǒng),都有一個單一的集中管理的服務(wù)器,保存所有文件的修訂版本,而協(xié)同工作的人們都通過客戶端連到這臺服務(wù)器,取出文件或者提交更新。

 

這種做法帶來了許多好處,特別是相較于老式的本地版本來說。現(xiàn)在,每個人都可以在一定程度上看到項(xiàng)目中的其他人正在做些什么。而管理員也可以輕松掌控每個開發(fā)者的權(quán)限,并且管理起來也輕松容易的多。

 

分布式版本控制系統(tǒng)

集中化最顯而易見的缺點(diǎn)是中央服務(wù)器的單點(diǎn)問題。如果中央服務(wù)器宕機(jī)一小時,那么在這一小時內(nèi),誰都無法提交更新,也就無法協(xié)同工作。

要是中央服務(wù)器的磁盤發(fā)生故障,碰巧沒做備份,或者備份不夠及時,就會有丟失數(shù)據(jù)的風(fēng)險。

于是分布式版本控制系統(tǒng)面世了。在這類系統(tǒng)中,客戶端并不只提取版本的文件快照,而是把代碼倉庫完整地鏡像下來。這么一來,任何一處協(xié)同工作用的服務(wù)器發(fā)生故障,事后都可以用任何一個鏡像出來的本地倉庫恢復(fù)。因?yàn)槊恳淮蔚奶崛〔僮?,?shí)際上都是一次對代碼倉庫的完整備份。

 

Git

git其實(shí)就是一款我們前面介紹的分布式版本控制軟件,Git具有以下特點(diǎn):

  • 直接記錄快照,而非差異比較
  • 近乎所有操作都是本地執(zhí)行
  • 時刻保持?jǐn)?shù)據(jù)完整性
  • 多數(shù)操作僅添加數(shù)據(jù)

 

[[263753]]

程序員是比較典型的需要團(tuán)隊(duì)協(xié)作的職業(yè),大多數(shù)情況下,都是需要多個程序員同時開發(fā)同一個項(xiàng)目的,就好像多個程序員要同時修改一份word文檔一樣。所以,Git是很多程序員的必備工具。

 

GitHub

GitHub是一個面向開源及私有軟件項(xiàng)目的托管平臺,因?yàn)橹恢С謌it 作為版本庫格式進(jìn)行托管,故名GitHub。

所謂托管平臺,也就是說他可以用于存放文件。只不過上面的文件都是可以公開被訪問到的。

 

GitHub是通過Git進(jìn)行版本控制的軟件源代碼托管服務(wù),并且,GitHub還引入了一些社交屬性。

 

簡單的說,在GitHub上面,你可以提交你自己寫的代碼(發(fā)微博)、關(guān)注(粉)某人、關(guān)注(贊)某個項(xiàng)目、添加評論、Fork(轉(zhuǎn)發(fā))一個項(xiàng)目來自己修改,這些功能和微博都是一樣的,只是將我們的吐槽換成了由各種編程語言寫的代碼。我們平時見到的大部分開源代碼也都是掛在上面的。

 

最近比較火的996icu項(xiàng)目我們說他有10多萬的Star,就是說由10W+的人關(guān)注了這個項(xiàng)目。

 

GitHub上那些奇葩"項(xiàng)目"

Dress - 女裝大佬聚集地

有129名貢獻(xiàn)者在這個名為Dress的項(xiàng)目里集結(jié),上傳了數(shù)千張女裝照,收獲了8000余顆星。

[[263758]]

 

你敢相信這是個碼農(nóng)?

地址:https://github.com/komeiji-satori/Dress

Thanos - 滅霸命令

Thanos.sh是一個開源的個滅霸命令,可隨機(jī)刪除電腦上一半文件。

[[263759]]

地址:https://github.com/hotvulcan/Thanos.sh

 

nocode - 一行代碼都沒有

這是一個Issue比項(xiàng)目更精彩的項(xiàng)目,項(xiàng)目中一行代碼都沒有。

 

想問下,Star這個項(xiàng)目的2.7萬人是有多無聊???

地址:https://github.com/kelseyhightower/nocode

programmer-job-blacklist 碼農(nóng)找工作黑名單

地址:https://github.com/shengxinjing/programmer-job-blacklist

hangzhou_house_knowledge 杭州買房攻略

地址:https://github.com/houshanren/hangzhou_house_knowledge

howmanypeoplearearound 通過 Wi-Fi 信號估計附近有多少人

地址:https://github.com/schollz/howmanypeoplearearound

 

參考資料:

https://git-scm.com/book/zh/v1/

https://www.jianshu.com/p/b2ad5d9daa23

https://www.zhihu.com/question/23498424

 

責(zé)任編輯:武曉燕 來源: 漫話編程
相關(guān)推薦

2020-03-16 14:08:59

線程熔斷限流

2021-09-14 12:00:11

VR字節(jié)跳動

2019-10-09 10:45:16

云計算Web互聯(lián)網(wǎng)

2019-12-23 10:26:02

3PC分布式2PC

2020-10-19 13:01:31

刪庫程序員思科

2019-07-22 10:34:31

大案牘術(shù)大數(shù)據(jù)Big Data

2019-03-12 09:43:14

反向代理正向代理服務(wù)器

2019-04-09 09:40:23

2020-03-23 12:57:20

撞庫脫庫洗庫

2020-12-28 12:37:36

緩存擊穿穿透

2019-04-19 09:48:53

樂觀鎖悲觀鎖數(shù)據(jù)庫

2019-08-13 10:34:26

鴻蒙OS跨平臺Linux內(nèi)核

2021-06-07 12:11:20

JavaRunning狀態(tài)

2021-03-02 06:03:30

Java繼承對象

2021-03-09 12:27:05

微服務(wù) 微服務(wù)架構(gòu)應(yīng)用程序

2021-05-10 19:58:06

MySQLUTF-8數(shù)據(jù)庫

2020-10-12 13:27:21

計算機(jī)瀏覽器電腦

2021-04-26 14:00:43

Java 數(shù)據(jù)類型

2019-03-06 10:59:09

寬帶王者榮耀網(wǎng)絡(luò)

2020-12-28 06:11:24

羊群效應(yīng)zookeeper
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號