如何克服解決Git衝突的恐懼症?(Git入門介紹)

史培培發表於2018-03-06

如何克服解決Git衝突的恐懼症?(Git入門介紹)

VCS

版本控制系統(version control system),是一種記錄一個或若干檔案內容變化,以便將來查閱特定版本修訂情況的系統。版本控制系統不僅可以應用於軟體原始碼的文字檔案,而且可以對任何型別的檔案進行版本控制。用的比較多的如svn,git等。

DVCS

分散式版本控制系統(Distributed Version Control System),軟體開發過程中,要解決多人協作的問題,需要有一個版本控制系統,用來合併和管理多人對同一個專案的開發和修改。版本控制有兩種方式,一種是集中式版本控制系統,顧名思義,是把程式碼的管理和同步放在同一個伺服器端來進行,如CVS,SVN,由於有完善的許可權系統,以及統一的服務端,適合商業軟體的開發;而分散式版本控制系統,則相當於把集中式版本控制系統的服務端和客戶端都交給參與開發的客戶端來保管,只有需要不同開發者合併程式碼時,才需要一箇中轉站來完成。

Git

Git是一款免費的、開源的分散式版本控制系統,旨在快速高效地處理無論規模大小的任何軟體工程。Git很容易學習,且小步快走,有著閃電般的效能。它超越了SCM工具,比如SVN、CVS、Perforce、ClearCase等,具體體現在方便的本地分支管理、方便的暫存區、並行工作流等。

每一個 Git克隆 都是一個完整的檔案庫,含有全部歷史記錄和修訂追蹤能力,不依賴於網路連線或中心伺服器。其最大特色就是“分支”及“合併”操作非常快速、簡便。

Git 是由“Linux之父” Linus Torvalds 建立的。因為他發現找不到滿意的方案來管理 Linux Kernel 聯合開發的版本控制,就自己寫了Git。

Git與Svn的區別

Git是分散式SCM,而SVN是基於伺服器的,也就是說每個開發者本地都有一套git庫,每個人維護自己的版本(或者合併其他人的版本),而SVN是每個人寫完程式碼後都及時的checkin到伺服器上,進行合併。

Git的優勢

  • 快速:無論是pull程式碼,還是拉分支,都很快
  • 離線工作:Git可以讓你在本地做所有操作,提交程式碼,檢視歷史,合併,建立分支等等
  • 回退:你可以用revert、reset來回退程式碼,甚至可以恢復已經刪除的提交
  • 保持工作獨立:版本庫是自己的,回滾歷史、反覆提交、歸併分支並不會影響到其他開發者
  • 分散式版本庫,無單點故障
  • 後設資料方式儲存內容:所有版本資訊:標籤、分支、版本記錄等位於.git目錄中

系列內容

本系列內容將用示例圖的方式來講解git相關命令的執行過程,並分享一些實戰經驗,比如分支策略,以及日常使用中遇到的問題。

如何克服解決Git衝突的恐懼症?(Git入門介紹)

微信公眾號:碼上論劍
請關注我的個人技術微信公眾號,訂閱更多內容

相關文章