-
1 # 指尖擋不住流年
-
2 # 程式猿藍天
如果將一款軟體從開發到上線比作一趟列車從起點到終點的話,那麼Git就相當於中國的高鐵,沒有了Git就如同泥濘的土路。這麼比喻一點都不誇張,因為Git為軟體開發提供了很大的便利,具體有以下幾點原因:
可靠的分散式倉庫儲存在Git未誕生以前,如果發生了電腦故障導致資料無法恢復,那對程式設計師來說簡直就是一種災難。而且在Git剛剛誕生的那個年代,程式設計師還不能算是走到哪裡都能幹活的工種,因為那個年代電腦遠沒有現在輕便,程式碼在哪裡程式設計師就要在哪裡呀。即使在今天,如果沒有Git,走到哪裡都要攜帶裝置也是不方便的。
靈活的版本管理程式碼這種東西太需要做版本管理了,尤其在一些大型專案需要多人合作的時候,如果要保證團隊多個成員一起協作開發,這是必不可少的功能。另外,隨著軟體開發越來越成熟規範,測試和釋出也更加講究,這些都需要依賴版本管理功能。目前,軟體開發模式已經從瀑布式開發變為了敏捷開發,迭代速度越來越快,保證其快而不亂的恰恰是版本管理。
由Git衍生出的Devops基於Git的分散式儲存以及版本管理,才有了今天Devops的蓬勃發展,不論是Jenkins,Kubernetes,還是各種雲平臺都提供了從Git載入工程構建部署到雲的功能,Git可以說就是完整開發流程不能繞過的一個工具。
結語總而言之,軟體開發過程中,效率和穩定性這兩大要素都能透過Git來實現。一個合格的程式設計師一定要學習Git。如今Gitlab還有很多Plugin可以使用,比如CI/CD,Kubernetes等等,Git學好一定會在開發中如虎添翼的。
大家平時都會用到哪些Git操作呢?
-
3 # gamedilong
版本控制不只是重要,而是必要。svn和git比較來說,優先推薦git。雖然都是做版本控制,git的分散式的設計比svn要領先一個時代。舉個場景,如果你是個人專案,前期不想要把程式碼丟到託管版本控制伺服器上,肯定又不會搭建私服。這個時候git就能發揮作用了,這種離線本地倉庫的功能svn是沒有的。
唯一的問題,就是有了分散式多倉庫的概念後,git相對於svn理解起來成本高一些。掌握起來上手成本更高一點。
-
4 # 子木予
首先這個說這個答案是確定的,作為程式設計師肯定是要熟悉和知道GIT與SVN的使用方式,為什麼這麼說,我們可以透過以下幾個方面來看:首先,作為個人開發者來說
作為個人開發者,我們日常的程式碼需要不停的修修改改,但是如果想回退到上一個版本,一般我們會進行這麼個操作那就是Ctrl+Z,但是要保證在相關的IDE必須處於一直開啟狀態。如果中途不小心關閉了,那麼我之前所做的操作記錄就會全部丟失,無法回退。但是這裡還需要注意的一點就是,如果我們修修改改的次數過多,那麼回退的時候,就會變得異常的繁瑣。所以這時候我們就需要一個程式碼的版本控制軟體,來很方便的進行我們的版本的隨時更新與回退。
其次,作為退隊開發者來說作為團隊的開發者,我們除了進行自己的程式碼編寫與修改之外,還需要和團隊的其他人進行相關的配合和協作,如果這時候我們進行程式碼的合併與協作時候,是不能使用u盤來進行程式碼複製與合併的,這時候我們就需要進行程式碼的版本控制軟體,來進行我們程式碼的合併與團隊的協作開發。以達到最大的團隊配合與協作效率。
最後,作為專案的參與者來說作為某個專案的參與者,我們需要將程式碼複製或者拉取到本地電腦進行修改、開發、已經Bug修復,當我們進行完這些操作的時候,我們需要將修改後的程式碼推送到程式碼釋出地址,來進行程式碼的更新與合併,這時候如果沒有相應的版本控制軟體,我們作為專案的參與者來說,提交修改後或者說是修復Bug後的程式碼會相當的繁瑣。
寫在最後目前的主流的版本控制軟體為GIT與SVN,其中GIT為分散式結構,而SVN為主伺服器點對多點式的結構,在GIT下每個人可以是主節點也可以是分節點,相對於SVN這種主伺服器點對多點結構方式的控制軟體有一定的安全性,例如中央伺服器損壞或者故障,但是如果在公司或者企業,GIT這種方式是有一定弊端的,例如:不能很好的把控程式碼質量,程式碼的統計等等。
-
5 # 賣螺絲的程式設計師
這東西不用學吧,平時用時也就推,拉,克隆,分支管理,這幾大功能吧。
這些都有成熟的管理工具,識得字就能用。
現在的編輯器都是帶git管理功能,命令會不會影響不大。
花十分鐘就能會吧。
我們公司新來的小夥,從來沒用過,我幾分鐘就教會他。
唯一麻煩點的就是私有倉庫配置秘鑰稍微有點麻煩,不過這些隨便百度一下,你起碼可以找幾百上千教程。
所以git根本不會難倒你。
-
6 # NC少年
不是重不重要的問題,而是必備技能。Linus發明的git讓團隊程式設計更高效,讓程式碼更加安全。
git出自名門: Linusgit的發明者,同時也是Linux的發明者,Linus因為開發核心,和全球各地程式設計師齊心協力,需要一個軟體倉庫。當時有個商業的版本控制軟體,讓開源社群用了一段時間,但突然有一天不再授權。Linus一怒之下,就寫了個分散式版本控制軟體git。再後來,基於git的github網站成為全球程式設計師交流的社群,以極高價格被巨頭微軟收購。
值得說明的是,git可以很方面的搭建自己的倉庫伺服器,不一定是透過 github網站,雖然github基於git出名。
git讓團隊程式設計更高效git讓團隊程式設計,更加高效。從備份、Merge、分支等,讓軟體工程開發效率極大提高。我瞭解過的所有公司,我沒見過一個人獨自編寫程式碼的情況,都是團隊協作。團隊協作,基本全部是基於GIT。在今天,如果一個程式設計師不知道git, 絕對會讓人鄙視。
git對程式碼安全得以保障除了Linus外,再說下另一位大佬,小米的創始人雷軍。傳說雷軍的程式碼被格式化而丟失,所以後續不再專心程式設計,而是創業。如果雷軍當年有可用的git,那程式碼起碼在伺服器上有一份備份,中國就不會缺少這麼一位優秀的程式設計師。
再說另外一個真實的故事:我之前的一位老大提起過,公司裡有一位同事,由於硬碟的硬體故障問題,讓幾個月碼出來的程式碼丟失。先不談責任的問題,關鍵的是要自己重新再將自己擼過的大量程式碼在重新寫一遍,可想是有多麼噁心。
反正我聽完這個故事後,無論寫程式碼還是文件,我都透過git來管理,即使我電腦硬體故障,伺服器上至少有一份備份。
-
7 # 西安石頭石頭
對的,Git已經在越來越多的專案組使用,究其原因,我覺得主要還是版本迭代方面比較SVN更方便一些,尤其是多個團隊不同時間上線生產環境,可能對同一個專案包做不同的修改,但是一部分需要上生產環境,這個時候Git的分支系統的有事就很明顯了,我們可以拉一個分支的把需要上生產環境的專案上線,其他組的繼續放在主幹
同時隨著K8s對Git的支援,更加方便氪
回覆列表
git是用來管理程式碼版本的工具,根據公司具體情況,有的公司用svn有的公司用git,可以都學學總之,多學點還是有好處的,技多不壓身。沒準哪天會用到!而且自己也可以用它來上傳自己寫的程式碼,很方便的!