svn、git

来源:互联网 发布:sftp端口号 编辑:程序博客网 时间:2024/06/06 07:08

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.zip3.解压到一个文件夹中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.07.这时已 切换到 tags8.右键项目,选择 分支/标记  选择 branches ,起个名子 /v1.0_xiufu9.切换到 branches ,进行bug 修改10.发布 v1.1版本, 选择 分支/标记 到 tags/v1.111.将项目 v2.0之前的 v1.0bug 更新,保证现在的 v2.0没有之前的 bug12.切换到 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 master6. 切换用户,拉取最新的文件    git pull
git pull 之后有冲突:$ git pullremote: 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/masterAuto-merging readme.txtCONFLICT (content): Merge conflict in readme.txtAutomatic merge failed; fix conflicts and then commit the result.解决方法:1.git mergetool    调用上面命令之后会提示你输入编辑方法,输入:beyond compare 进入编辑器.2.编辑完之后.调用git commit -a 把当前目录中所有都提交到本地库中.3.git push origin master 提交到远程库中.
0 0