git版本管理流程規(guī)范 把公司代碼上傳到了git上,被leader發(fā)現(xiàn)了怎么辦?
把公司代碼上傳到了git上,被leader發(fā)現(xiàn)了怎么辦?這種問(wèn)題可大可小,往小了說(shuō)吧,這個(gè)只是一個(gè)小事,一點(diǎn)點(diǎn)代碼而已,只要?jiǎng)h掉以后,就沒(méi)有什么問(wèn)題了。往大了說(shuō),這個(gè)就是信息安全的事件了,可以說(shuō)是泄露
把公司代碼上傳到了git上,被leader發(fā)現(xiàn)了怎么辦?
這種問(wèn)題可大可小,往小了說(shuō)吧,這個(gè)只是一個(gè)小事,一點(diǎn)點(diǎn)代碼而已,只要?jiǎng)h掉以后,就沒(méi)有什么問(wèn)題了。
往大了說(shuō),這個(gè)就是信息安全的事件了,可以說(shuō)是泄露了公司的機(jī)密。
可能我們很多人還沒(méi)有養(yǎng)成這種信息安全的意識(shí)。
但是,由于現(xiàn)在社會(huì)上信息安全的事件頻繁的發(fā)生,就連Facebook都出現(xiàn)了用戶(hù)資料泄露的情況,所以,作為一個(gè)程序員,就更應(yīng)該在自己的心里繃一根弦了。
說(shuō)一個(gè)真實(shí)的故事吧,也是就在我身邊發(fā)生的事情。
事情的起因其實(shí)是一個(gè)很小的事件。
當(dāng)時(shí),我們公司的框架是自動(dòng)生成代碼注釋的,代碼注釋里面會(huì)包含項(xiàng)目的名稱(chēng)和編輯代碼的人名(根據(jù)創(chuàng)建文件的人的域賬號(hào)生成的)。
然后,某一個(gè)程序員寫(xiě)了一個(gè)小的公共業(yè)務(wù)組件,里面用到了一些有意思的技術(shù)。他將這些內(nèi)容放到了自己的博客里面,用于技術(shù)的交流。
因?yàn)楫?dāng)時(shí)我是在外企,我們的項(xiàng)目也是給涉密的國(guó)外政府門(mén)或者銀行來(lái)做的。
這個(gè)程序員在復(fù)制代碼的時(shí)候呢,很不信的將項(xiàng)目的名稱(chēng)注釋一起貼到了博客里面,我們的客戶(hù)在Google的時(shí)候,就看到了這篇博客。
然后雷霆之火就出現(xiàn)了
客戶(hù)認(rèn)為這個(gè)是非常嚴(yán)重的問(wèn)題了,我項(xiàng)目的代碼被公然的放到了互聯(lián)網(wǎng)上,這個(gè)還是被我發(fā)現(xiàn)了的,那是不是還有很多沒(méi)有被我發(fā)現(xiàn)的內(nèi)容?
客戶(hù)則認(rèn)為這個(gè)完全是管理的不嚴(yán)謹(jǐn)和員工意識(shí)不足的問(wèn)題,而且是很大的安全隱患。解除合同賠錢(qián)都是小事了,還要起訴我們企業(yè)。
我們是一個(gè)500強(qiáng)的外企,這個(gè)事情要是鬧大了,那股票肯定一片綠啊!
從中國(guó)地區(qū)的CEO,到集團(tuán)總部的CEO,每個(gè)人都還是給客戶(hù)做工作,賠禮道歉等等。
然后,外國(guó)也和中國(guó)一樣,無(wú)證電工引起了大樓著火。
所以最后這個(gè)程序員就成為了犧牲品,程序員這次泄露代碼的行為被定義為個(gè)人行為,客戶(hù)直接起訴了這個(gè)程序員。
最終的結(jié)果我就不得而知了,不過(guò)這個(gè)程序員的履歷上,肯定有一個(gè)一輩子無(wú)法磨滅的黑點(diǎn)了。
所以,對(duì)于這種信息安全或者機(jī)密泄露的事件,我們一定要注意,沒(méi)發(fā)現(xiàn),那就是芝麻綠豆的事情,被發(fā)現(xiàn),那你的人生可能會(huì)變得不可預(yù)知了。
為什么其他辦公領(lǐng)域不使用git?
第一、git主要擅長(zhǎng)處理純文本。這也是辦公領(lǐng)域不使用git的最主要原因。計(jì)算機(jī)編程大部分都用的純文本。純文本,可以方便地比較每次提交修改了哪些內(nèi)容,還可以進(jìn)行沖突合并。但是辦公領(lǐng)域絕大多數(shù)用的都不是純文本,特別是以微軟的word,Excel為代表。git當(dāng)然也可以對(duì)這類(lèi)二進(jìn)制文件進(jìn)行簡(jiǎn)單的版本管理,但絕對(duì)不是強(qiáng)項(xiàng)。辦公軟件也有用純文本形式的,比如LaTeX,但是僅見(jiàn)于專(zhuān)業(yè)領(lǐng)域,使用的人也不多,門(mén)檻很高。
第二、辦公領(lǐng)域編輯文檔的周期往往都比較短。純粹的辦公部門(mén),編輯一個(gè)文檔往往幾天,十來(lái)天就出來(lái)一個(gè)文件。如此短的周期根本沒(méi)有必要用git這樣的版本管理。這類(lèi)辦公文檔一旦發(fā)布蓋紅章,通常都是“最終版”。不像軟件,似乎就沒(méi)有“最終版”的說(shuō)法。像QQ的代碼,都已經(jīng)維護(hù)20年了。從來(lái)沒(méi)有哪個(gè)辦公文檔能有這么長(zhǎng)的時(shí)間去維護(hù)。
第三,辦公領(lǐng)域很少需要多人復(fù)雜協(xié)作去完成同一個(gè)任務(wù)。類(lèi)似著作、重要報(bào)告也是重大工程,也需要分工合作。但是往往都是一個(gè)人負(fù)責(zé)寫(xiě)一個(gè)章節(jié),最后統(tǒng)稿,基本上是互不干涉。極少出現(xiàn)軟件編程那樣牽一發(fā)而動(dòng)全身的情況,至少一個(gè)章節(jié)出現(xiàn)一個(gè)錯(cuò)別字不會(huì)影響其他章節(jié)。而軟件的這種復(fù)雜性,決定了需要維護(hù)代碼的人彼此同步修改的內(nèi)容,還經(jīng)常出現(xiàn)一個(gè)文件同時(shí)幾個(gè)人去修改的情況。
第四、git使用比較復(fù)雜。我把這個(gè)原因放到最后,因?yàn)樗鄬?duì)前面幾條,反而是最不重要的。git客觀(guān)上使用起來(lái)確實(shí)有難度,影響了其他領(lǐng)域的人使用。不過(guò),如果git真的適合管理辦公文件,則復(fù)雜性不是問(wèn)題,因?yàn)榘l(fā)明一些圖形化界面并不是難事。事實(shí)上,我在寫(xiě)很多代碼的時(shí)候,用git還真的很少敲命令,大多數(shù)時(shí)候使用IDE自帶的(或第三方插件)圖形化界面就夠用了。