git、github、gitee、gitlab的區別


  • git 是一種版本控制系統,是一個命令,是一種工具。
  • github 是一個基於git實現在線代碼托管的倉庫,向互聯網開放,企業版要收錢。
  • gitlab 類似 github,一般用於在企業內搭建git私服,要自己搭環境。
  • gitee 即碼雲,是 oschina 免費給企業用的,不用自己搭建環境。
  • git-ce 是社區版,gitlab-ee是企業版,收費版。
  • 參考鏈接1:https://blog.csdn.net/m0_46080566/article/details/111194608
  • 參考鏈接2:https://www.zhihu.com/question/478022295
  • ----------------------------------------------------------------------------------------------------
  • Git中版本庫的理解
  • 什么是版本庫呢?版本庫又名倉庫,英文名repository,你可以簡單理解成一個目錄,這個目錄里面的所有文件都可以被Git管理起來,每個文件的修改、刪除,Git都能跟蹤,以便任何時刻都可以追蹤歷史,或者在將來某個時刻可以“還原”。
  • 創建一個版本庫非常簡單,首先,選擇一個合適的地方,創建一個空目錄
  • 通過git init命令把這個目錄變成Git可以管理的倉庫
  • 瞬間Git就把倉庫建好了,而且告訴你是一個空的倉庫(empty Git repository),細心的讀者可以發現當前目錄下多了一個.git的目錄

  • 這個目錄是Git來跟蹤管理版本庫的,沒事千萬不要手動修改這個目錄里面的文件,不然改亂了,就把Git倉庫給破壞了

  • 如果你沒有看到.git目錄,那是因為這個目錄默認是隱藏的,用ls -ah命令就可以看見

  • 所有的版本控制系統,其實只能跟蹤文本文件的改動,比如TXT文件,網頁,所有的程序代碼等等,Git也不例外。
  • 版本控制系統可以告訴你每次的改動,比如在第5行加了一個單詞“Linux”,在第8行刪了一個單詞“Windows”。
  • 而圖片、視頻這些二進制文件,雖然也能由版本控制系統管理,但沒法跟蹤文件的變化,只能把二進制文件每次改動串起來,也就是只知道圖片從100KB改成了120KB,但到底改了啥,版本控制系統不知道,也沒法知道。
  • Git中分支的理解
  • 分支就是科幻電影里面的平行宇宙,當你正在電腦前努力學習Git的時候,另一個你正在另一個平行宇宙里努力學習SVN。

  • 如果兩個平行宇宙互不干擾,那對現在的你也沒啥影響。不過,在某個時間點,兩個平行宇宙合並了,結果,你既學會了Git又學會了SVN!

  • 分支策略

  • 在實際開發中,我們應該按照幾個基本原則進行分支管理:

  • 首先, master分支應該是非常穩定的,也就是僅用來發布新版本,平時不能在上面干活;

  • 那在哪干活呢?干活都在dev分支上,也就是說,dev分支是不穩定的,到某個時候,比如1.0版本發布時,再把dev分支合並到master上,在master分支發布1.0版本;

     

  • 你和你的小伙伴們每個人都在dev分支上干活,每個人都有自己的分支,時不時地往dev分支上合並就可以了。

     

  • 所以,團隊合作的分支看起來就像這樣:

  • 一個本地庫能不能既關聯GitHub,又關聯Gitee呢?

     

  • 答案是肯定的,因為git本身是分布式版本控制系統,可以同步到另外一個遠程庫,當然也可以同步到另外兩個遠程庫。

  • 使用多個遠程庫時,我們要注意,git給遠程庫起的默認名稱是origin,如果有多個遠程庫,我們需要用不同的名稱來標識不同的遠程庫。
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM