推薦(免費):git教程
文章目錄
- 版本控制
-
- 版本控制工具的功能
- Git簡介
-
- Git的優勢
- Git的下載與安裝
- Git的本地結構
- Git和代碼托管中心
- 本地卡和遠程庫的交互方式
版本控制
個人開發需要不斷的改進和迭代,團隊內部需要協作,這樣的需求由版本控制工具來滿足。 需要明白的是版本控制只是一種思想,而版本控制工具是對這種思想的一種實現。
(1)集中式版本控制工具:CVS、SVN、VSS…
每一個開發人員是一個客戶端,文件和版本信息存儲在服務器上。缺點是容易出現單點故障:服務器一旦宕機,所有歷史數據都會丟失。
(2)分布式版本控制工具:Git、Mercurial、Bazaar、Darcs…
在本地就可以進行版本控制。有效的避免了單點故障。
版本控制工具的功能
版本控制工具有下面幾個功能:
(1)協同修改
多人并行不悖的修改服務器端的同一個文件。
(2)數據備份
不僅保存目錄和文件的當前狀態,還能保存每一個提交過的歷史狀態。
(3)版本管理
在保存每一個版本的文件信息時要做到不保存重復數據,以節約存儲時間,提高運行效率。這方面SVN采用的是增量式管理的方式,而Git采取了文件系統快照的方式。
(4)權限控制
對團隊中參與開發的人員進行權限控制;對團隊外開發者貢獻的代碼進行審核(Git獨有功能)。
(5)歷史記錄
查看修改人、修改時間、修改內容、日志信息;將本地文件恢復到某一個歷史狀態。
(6)分支管理
允許開發團隊在工作過程中多條生產線同時推進任務,進一步提高效率。
Git簡介
Linux在開發之初源代碼來自世界各地,由Linus自己手動匯總并合并代碼,這樣的工作很繁雜。
2002年BitMover公司出于人道主義授權Linux社區免費試用版本控制系統BitKeeper,但不允許破解。
2005年,開發Samba的Andrew試圖破解BitKeeper的協議,被BitMover公司發現后,要收回Linux社區的免費試用權;于是Linus自己用C語言開發了一個分布式版本控制系統—Git,一個月后Linux系統代碼由Git管理。
2008年,GitHub上線,jQuery、Ruby、PHP開源軟件都把自己的源代碼放在GitHub進行托管,如今GitHub上好的項目已經數以萬計。
Git的優勢
大部分操作在本地完成,不需要聯網。
完整性保證。(會對每一次提交的數據進行Hash操作)
盡可能添加數據而不是刪除或修改數據。
分支操作非常快捷流暢。
與 Linux 命令全面兼容。
Git的下載與安裝
可以去Git官網下載最新版本的git,僅在GitBash中使用就足夠了。
下面幾張圖需要注意,其他直接安裝默認值下載就可以了。
Git的本地結構
Git在本地存在三個區:
- 工作區(寫代碼的地方)
- 暫存區(臨時存儲)
- 本地庫(存放歷史版本)
在工作區新建一個文件后,可以使用git add將其添加到暫存區,再使用git commit添加到本地庫。
Git和代碼托管中心
GitHub就是Git的一個代碼托管中心,其任務就是維護遠程庫。
- 在局域網環境下,可以搭建GitLab服務器,作為代碼托管中心。
- 在外網環境下,可以有GitHub和碼云作為代碼托管中心。
本地卡和遠程庫的交互方式
團隊內部協作:
跨團隊協作: