Subversion建立仓库
建立svn仓库
命令svnadmin create 仓库名称
仓库目录说明
db目录:就是所有版本控制的数据存放文件。
hooks目录:脚本文件的目录。
locks目录:用放置hook来放置Subversion文件库锁定数据的目录,用来追踪
存取文件库的客户端。
format文件是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本
号。
conf目录:是这个仓库的配置文件(仓库的用户访问帐号、权限等)。
.svn 这个隐藏目录记录着两项关键的信息: 工作文件的基准版本和一个本地副
本最后更新的时间戳。千万不要手工修改或删除这个 .svn 隐藏目录和里面的文
件!!! 否则将会导致你本地的工作拷贝 (静态视图)被破坏,无法再进行操
作。
SVN与Eclipse整合
1.下载SVN插件(http://subclipse.tigris.org)
2.我们使用版本eclipse_svn_site-1.6.5.zip
3.解压到一个文件夹中
4.进入 eclipse 安装目录中 dropins 目录并创建一个 subclipse.link 的文
本文件(文件名任意)。内容为:path=eclipse_svn_site-1.6.5.zip解压路径
(注意:路径中需要把‘\’替换成‘/’)
Subversion目录规范
创建三个顶级目录
1. /trunk 存放开发的“主线”
2. /branches 存放支线副本
3. /tags 存放标签副本
主线(trunk):一个项目建立时就存在,并伴随着项目的成长而不断的成长,直到项目
完全结束。
分支(branch):一般是指功能分支,例如:我们的某个项目要添加一个模块,但这个
模块又比较复杂,实现难度比较大。为了不影响主线的稳定,我们就可以创建一个功能
分支来专门开发这个模块,当这个模块开发完成以后,并通过测试部门的各项测试,再
合并到主线中去
标签(tag):标签和分支一样,也是一个目录,不过这个目录中一般存放的是发布的信
息(当然我们也可以只用分支,但是用标签更清楚明了一些)。
要注意,标签目录里面的代码,要进行严格的控制,除了修正 BUG 外,不能做任何其
他的事情。
实践:
1.在svn 服务器创建一个资源
2.eclipse 使用 svn 添加 资源
3.从trunk 中检出 项目 到空作工间
4.在这个项目中写点基础代码,并提交
5.发布版本1.0 项目,右键选择 分支与标记 ,选择 tags ,起个名子 /v1.0
现在开发 v2.0
//v1.0有 bug,需要修改,这时
6.eclipse中右键,选择 切换 ,选择 tags/v1.0
7.这时已 切换到 tags
8.右键项目,选择 分支/标记 选择 branches ,起个名子 /v1.0_xiufu
9.切换到 branches ,进行bug 修改
10.发布 v1.1版本, 选择 分支/标记 到 tags/v1.1
11.将项目 v2.0之前的 v1.0bug 更新,保证现在的 v2.0没有之前的 bug
12.切换到 v2.0 开发项目中
13.右键项目 选择合并 ,选择 branches/v1.0_xiufu
14.项目更新
Git 简介
//好处:
分布式,强调个体
公共服务器压力和数据量都不会太大
速度快、灵活
任意两个开发者之间可以很容易的解决冲突
离线工作
每日工作备份
可以吃后悔药
Git建立仓库
建立Git仓库
git init --bare 库名称
仓库目录说明
hooks目录:脚本文件的目录。
info目录:保存了不希望在 .gitignore 文件中管理的忽略模式的全局可执行
文件
logs目录:日志目录
objects目录:存储所有数据内容
refs目录:存储指向数据(分支)的提交对象的指针
config文件包含了项目特有的配置选项
description文件仅供 GitWeb 程序使用
HEAD文件指向当前分支
Git与Eclipse整合
下载EGit插件(http://www.eclipse.org/egit/)
下载到的插件为压缩包,可以直接在Eclipse中安装:
Eclipse -> Help -> Install new Software
常用命令
1. 创建git资源库
git init --bare 库名称
2. 在用户文件夹下把资源clone下来
git clone <仓库目录> /g/software/repository/git/itheima <用户目录> .
注意:clone时候用户目录必须为空
3. 创建一个文件,纳入到版本控制中。
git add <文件名>
第一次执行会出警告:warning: LF will be replaced by CRLF in readme.txt.
The file will have its original line endings in your working directory.
警告处理:需要配置用户信息
git config user.name = "zhangsan"
git config user.email = "itheima@gmail.com"
4. 提交到本地版本库里。
git commit <文件名>
5. 推送到远程共享版本库中
git push origin master
6. 切换用户,拉取最新的文件
git pull
git pull 之后有冲突:
$ git pull
remote: Counting objects: 5, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
From g:/software/repository/git/itheima26
50db030..a04027a master -> origin/master
Auto-merging readme.txt
CONFLICT (content): Merge conflict in readme.txt
Automatic merge failed; fix conflicts and then commit the result.
解决方法:
1.git mergetool
调用上面命令之后会提示你输入编辑方法,输入:beyond compare 进入编辑器.
2.编辑完之后.调用git commit -a 把当前目录中所有都提交到本地库中.
3.git push origin master 提交到远程库中.