首页 热点专区 义务教育 高等教育 出国留学 考研考公
您的当前位置:首页正文

版本控制工具-subversion与git简介

2024-12-18 来源:要发发教育

原理和概念

这里主要讲述git。先了解一下从版本控制的角度上,对资料进行管理的发展简程。

阶段1, 文件系统(FS)

早期,文件基本上通过操作系统文件系统管理。

资料以目录路径的方式存于文件系统中,常见的文件系统如 fat32, ext3 等。

阶段2, 集中式版本控制(CVCS)

后来,出现了版本控制的概念,对开发的内容通过集中式版本控制工具进行。

除了文件系统中体现的资料路径外,还通过中心服务器,用版本号的方式,可对每次修改的历史进行管理,

常见的集中版本控制工具如 vcs, svn

阶段3, 分布式版本控制(DVCS)

再后来,由于集中式版本控制中,有关历史的全部内容集中在一处服务器中管理,稳定性,以及速度上,可迁移上都不方便,于是出现了分布式版本控制。

不是用版本号而是用每次提交的内容指纹来管理资料,不仅通过一个中心服务器进行版本控制,任意远程、本地都可参与进来,并且它们之间可相互同步其管理信息。

常见的工具用提交管理,如 git, mercurial

subversion与git原理图

一个svn服务端,简单,但是慢

1_one_svn.png

两个svn服务端,快,但是复杂

2_two_svn.png

如何使其简单、并且快?

3_hwo_to_sync.png

使用 分布式 git 服务端,即简单又快。

4_git.png

理解的关键点

下面给出便于理解的关键,详细内容自行查阅。

分布式的理解

基于 git 的分布式版本控制,每个端都是独立的服务器,通过 git pull / git push 相互同步。

工作流程、状态

主要指 svn & gitadd,commit,status, 各有何不同?

工作空间(work area)、缓存空间(staged area)、库(repository)

针对 git 的内容

object, snapshot, index, repository.

git directory, git work directory, fast-forward.

git常用操作

下面给出最常用的 git 操作子命令,详细内容自行查阅。使用之时,注意需要给出 git 关键字以及参数,例如:

$git commit -m 'one commit tip.'

本地相关

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

与它人协作相关

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

冲突处理相关

mergetool, merge, stash

其它

config, clean, gc, help.

显示全文