學習Git對程序員很重要嗎?

___Mary


首先這個說這個答案是確定的,作為程序員肯定是要熟悉和知道GIT與SVN的使用方式,為什麼這麼說,我們可以通過以下幾個方面來看:

首先,作為個人開發者來說

作為個人開發者,我們日常的代碼需要不停的修修改改,但是如果想回退到上一個版本,一般我們會進行這麼個操作那就是Ctrl+Z,但是要保證在相關的IDE必須處於一直打開狀態。如果中途不小心關閉了,那麼我之前所做的操作記錄就會全部丟失,無法回退。但是這裡還需要注意的一點就是,如果我們修修改改的次數過多,那麼回退的時候,就會變得異常的繁瑣。所以這時候我們就需要一個代碼的版本控制軟件,來很方便的進行我們的版本的隨時更新與回退。

其次,作為退隊開發者來說

作為團隊的開發者,我們除了進行自己的代碼編寫與修改之外,還需要和團隊的其他人進行相關的配合和協作,如果這時候我們進行代碼的合併與協作時候,是不能使用u盤來進行代碼拷貝與合併的,這時候我們就需要進行代碼的版本控制軟件,來進行我們代碼的合併與團隊的協作開發。以達到最大的團隊配合與協作效率。

最後,作為項目的參與者來說

作為某個項目的參與者,我們需要將代碼拷貝或者拉取到本地電腦進行修改、開發、已經Bug修復,當我們進行完這些操作的時候,我們需要將修改後的代碼推送到代碼發佈地址,來進行代碼的更新與合併,這時候如果沒有相應的版本控制軟件,我們作為項目的參與者來說,提交修改後或者說是修復Bug後的代碼會相當的繁瑣。

寫在最後

目前的主流的版本控制軟件為GIT與SVN,其中GIT為分佈式結構,而SVN為主服務器點對多點式的結構,在GIT下每個人可以是主節點也可以是分節點,相對於SVN這種主服務器點對多點結構方式的控制軟件有一定的安全性,例如中央服務器損壞或者故障,但是如果在公司或者企業,GIT這種方式是有一定弊端的,例如:不能很好的把控代碼質量,代碼的統計等等。


我是科技領域創作者【子木予】。如果我的觀點對您有啟發、有幫助,勞煩您點贊並關注我,我會把科技領域的乾貨與您分享到底,最後再次謝謝朋友們耐心閱讀,歡迎關注、評論等,發表看法,一起互動交流!


子木予


不是重不重要的問題,而是必備技能。Linus發明的git讓團隊編程更高效,讓代碼更加安全。


git出自名門: Linus

git的發明者,同時也是Linux的發明者,Linus因為開發內核,和全球各地程序員齊心協力,需要一個軟件倉庫。當時有個商業的版本控制軟件,讓開源社區用了一段時間,但突然有一天不再授權。Linus一怒之下,就寫了個分佈式版本控制軟件git。再後來,基於git的github網站成為全球程序員交流的社區,以極高價格被巨頭微軟收購。


值得說明的是,git可以很方面的搭建自己的倉庫服務器,不一定是通過 github網站,雖然github基於git出名。


git讓團隊編程更高效

git讓團隊編程,更加高效。從備份、Merge、分支等,讓軟件工程開發效率極大提高。我瞭解過的所有公司,我沒見過一個人獨自編寫代碼的情況,都是團隊協作。團隊協作,基本全部是基於GIT。在今天,如果一個程序員不知道git, 絕對會讓人鄙視。


git對代碼安全得以保障

除了Linus外,再說下另一位大佬,小米的創始人雷軍。傳說雷軍的代碼被格式化而丟失,所以後續不再專心編程,而是創業。如果雷軍當年有可用的git,那代碼起碼在服務器上有一份備份,中國就不會缺少這麼一位優秀的程序員。


再說另外一個真實的故事:我之前的一位老大提起過,公司裡有一位同事,由於硬盤的硬件故障問題,讓幾個月碼出來的代碼丟失。先不談責任的問題,關鍵的是要自己重新再將自己擼過的大量代碼在重新寫一遍,可想是有多麼噁心。


反正我聽完這個故事後,無論寫代碼還是文檔,我都通過git來管理,即使我電腦硬件故障,服務器上至少有一份備份。


平凡科技


如果將一款軟件從開發到上線比作一趟列車從起點到終點的話,那麼Git就相當於中國的高鐵,沒有了Git就如同泥濘的土路。這麼比喻一點都不誇張,因為Git為軟件開發提供了很大的便利,具體有以下幾點原因:

可靠的分佈式倉庫存儲

在Git未誕生以前,如果發生了電腦故障導致數據無法恢復,那對程序員來說簡直就是一種災難。而且在Git剛剛誕生的那個年代,程序員還不能算是走到哪裡都能幹活的工種,因為那個年代電腦遠沒有現在輕便,代碼在哪裡程序員就要在哪裡呀。即使在今天,如果沒有Git,走到哪裡都要攜帶設備也是不方便的。

靈活的版本管理

代碼這種東西太需要做版本管理了,尤其在一些大型項目需要多人合作的時候,如果要保證團隊多個成員一起協作開發,這是必不可少的功能。另外,隨著軟件開發越來越成熟規範,測試和發佈也更加講究,這些都需要依賴版本管理功能。目前,軟件開發模式已經從瀑布式開發變為了敏捷開發,迭代速度越來越快,保證其快而不亂的恰恰是版本管理。

由Git衍生出的Devops

基於Git的分佈式存儲以及版本管理,才有了今天Devops的蓬勃發展,不論是Jenkins,Kubernetes,還是各種雲平臺都提供了從Git加載工程構建部署到雲的功能,Git可以說就是完整開發流程不能繞過的一個工具。

結語

總而言之,軟件開發過程中,效率和穩定性這兩大要素都能通過Git來實現。一個合格的程序員一定要學習Git。如今Gitlab還有很多Plugin可以使用,比如CI/CD,Kubernetes等等,Git學好一定會在開發中如虎添翼的。


大家平時都會用到哪些Git操作呢?


程序猿藍天


這東西不用學吧,平時用時也就推,拉,克隆,分支管理,這幾大功能吧。

這些都有成熟的管理工具,識得字就能用。

現在的編輯器都是帶git管理功能,命令會不會影響不大。

花十分鐘就能會吧。

我們公司新來的小夥,從來沒用過,我幾分鐘就教會他。

唯一麻煩點的就是私有倉庫配置秘鑰稍微有點麻煩,不過這些隨便百度一下,你起碼可以找幾百上千教程。

所以git根本不會難倒你。


互加網絡科技


職業生涯中有過兩年使用git的經歷。實話說作為軟件研發人員,真正需要用到git命令沒有多少條。如果不是從事自動化測試開發工作,並不建議花太多精力研究它。鑑於gitHUB已被微軟收購現實和當前國際科技交流形勢,國內企業從自身信息安全的角度考量也會選擇替代者。求職過程中,會不會git的影響基本可以忽略不計。當然,技多不壓身,懂得或者精通了git,說不定哪會兒就成了自個的優勢。


ChipEngineer


版本控制不只是重要,而是必要。svn和git比較來說,優先推薦git。雖然都是做版本控制,git的分佈式的設計比svn要領先一個時代。舉個場景,如果你是個人項目,前期不想要把代碼丟到託管版本控制服務器上,肯定又不會搭建私服。這個時候git就能發揮作用了,這種離線本地倉庫的功能svn是沒有的。

唯一的問題,就是有了分佈式多倉庫的概念後,git相對於svn理解起來成本高一些。掌握起來上手成本更高一點。


gamedilong


對的,Git已經在越來越多的項目組使用,究其原因,我覺得主要還是版本迭代方面比較SVN更方便一些,尤其是多個團隊不同時間上線生產環境,可能對同一個項目包做不同的修改,但是一部分需要上生產環境,這個時候Git的分支系統的有事就很明顯了,我們可以拉一個分支的把需要上生產環境的項目上線,其他組的繼續放在主幹

同時隨著K8s對Git的支持,更加方便氪


石頭程序員


git是用來管理代碼版本的工具,根據公司具體情況,有的公司用svn有的公司用git,可以都學學總之,多學點還是有好處的,技多不壓身。沒準哪天會用到!而且自己也可以用它來上傳自己寫的代碼,很方便的!


指尖擋不住流年


個人感覺還是很有必要學習的,現在很多公司在用了,而且功能比svn強大許多


分享到:


相關文章: