程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> SVN與Git

SVN與Git

編輯:關於PHP編程

SVN與Git


許久未上CU了,也許自從用上orgmode和git之後,有了更好的方式組織內容。

但是總是對這裡情有獨鐘。

這裡是我最早發布內容的地方,以後找到更好的方式,希望能陸續也同步至此。

發一篇文章,共學習和參考。

內容
─────────────────

1 原理和概念
.. 1.1 階段1, 文件系統(FS)
.. 1.2 階段2, 集中式版本控制(CVCS)
.. 1.3 階段3, 分布式版本控制(DVCS)
2 subversion與git原理圖
.. 2.1 一個svn服務端,簡單,但是慢
.. 2.2 兩個svn服務端,快,但是復雜
.. 2.3 如何使其簡單、並且快?
.. 2.4 使用 分布式 git 服務端,即簡單又快。
3 理解的關鍵點
.. 3.1 分布式的理解
.. 3.2 工作流程、狀態
.. 3.3 工作空間(work area)、緩存空間(staged area)、庫(repository)
.. 3.4 針對 `git' 的內容
4 git常用操作
.. 4.1 本地相關
.. 4.2 與它人協作相關
.. 4.3 沖突處理相關
.. 4.4 其它


subversion與git簡介


1 原理和概念
════════════

這裡主要講述git。先了解一下從版本控制的角度上,對資料進行管理的發展簡程。


1.1 階段1, 文件系統(FS)
───────────

早期,文件基本上通過操作系統文件系統管理。

資料以目錄路徑的方式存於文件系統中,常見的文件系統如 `fat32', `ext3' 等。


1.2 階段2, 集中式版本控制(CVCS)
───────────────

後來,出現了版本控制的概念,對開發的內容通過集中式版本控制工具進行。

除了文件系統中體現的資料路徑外,還通過中心服務器,用版本號的方式,可對
每次修改的歷史進行管理,

常見的集中版本控制工具如 `vcs', `svn' 。


1.3 階段3, 分布式版本控制(DVCS)
───────────────

再後來,由於集中式版本控制中,有關歷史的全部內容集中在一處服務器中管理,
穩定性,以及速度上,可遷移上都不方便,於是出現了分布式版本控制。

不是用版本號而是用每次提交的內容指紋來管理資料,不僅通過一個中心服務器
進行版本控制,任意遠程、本地都可參與進來,並且它們之間可相互同步其管理
信息。

常見的工具用提交管理,如 `git', `mercurial' 。


2 subversion與git原理圖
═══════════════════════

2.1 一個svn服務端,簡單,但是慢
───────────────





2.2 兩個svn服務端,快,但是復雜
───────────────






2.3 如何使其簡單、並且快?
─────────────






2.4 使用 分布式 git 服務端,即簡單又快。
────────────────────






3 理解的關鍵點
══════════════

下面給出便於理解的關鍵,詳細內容自行查閱。


3.1 分布式的理解
────────

基於 `git' 的分布式版本控制,每個端都是獨立的服務器,通過 `git pull' /
`git push' 相互同步。


3.2 工作流程、狀態
─────────

主要指 `svn & git' 的 `add,commit,status', 各有何不同?


3.3 工作空間(work area)、緩存空間(staged area)、庫(repository)
───────────────────────────────


3.4 針對 `git' 的內容
──────────

`object', `snapshot', `index', `repository'.

`git directory', `git work directory', `fast-forward'.


4 git常用操作
═════════════

下面給出最常用的 `git' 操作子命令,詳細內容自行查閱。使用之時,注意需要
給出 `git' 關鍵字以及參數,例如:
┌────
│ $git commit -m 'one commit tip.'
└────


4.1 本地相關
──────

`branch', `merge', `checkout', `reset', `clean', `log', `commit',
`status', `diff'.


4.2 與它人協作相關
─────────

`pull', `push', `remote', `rebase', `format-patch', `am'.


4.3 沖突處理相關
────────

`mergetool', `merge', `stash'


4.4 其它
────

`config', `clean', `gc', `help'.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved