天天看点

开发中常用的版本管理操作(svn和git)1 svn管理2 git管理3 提交记录与处理原则

1 svn管理   

    1.1 创建版本库   

   1.2 同步代码   

   1.3 提交代码   

   1.4 拉分支   

   1.5 合并分支   

   1.6 删除分支   

   1.7 版本回退   

2 git管理   

   2.1 创建版本库   

   2.2 同步代码   

   2.3 提交代码   

   2.4 拉分支   

   2.5 合并分支   

   2.6 删除分支   

   2.7 版本回退   

3 提交记录与处理原则   

1 svn管理

1.1创建版本库

ssh登录到svn服务器,执行命令创建test版本库

svnadmin create test

然后在svn服务器上将权限配置好

conf/passwd 里增加相应的用户名 账号

conf/svnserve.conf 里修改成

anon-access = none # 使非授权用户无法访问

auth-access = write # 使授权用户有写权限

password-db = password

1.2同步代码

客户机安装tortoisesvn,然后在目标文件夹创建一个外层文件夹,进入文件夹里右键->svn checkout...,输入版本库地址svn://192.168.0.248/test

开发中常用的版本管理操作(svn和git)1 svn管理2 git管理3 提交记录与处理原则

然后创建文件夹test1,这个文件夹才是我们真正的代码目录。返回checkout对话框,修正URL of repository和checkout directory,点击OK,同步完成。

开发中常用的版本管理操作(svn和git)1 svn管理2 git管理3 提交记录与处理原则

以后通过右键->svn update更新代码

1.3提交代码

代码修改完后,在test1文件夹上右键单击,选择svn commit...,然后输入提交日志,点击OK,提交完成。

1.4拉分支

Test1目录上右键

开发中常用的版本管理操作(svn和git)1 svn管理2 git管理3 提交记录与处理原则
开发中常用的版本管理操作(svn和git)1 svn管理2 git管理3 提交记录与处理原则

点击OK,test1_4.0.1分支创建成功。然后在test目录上同步新创建的这个分支。

1.5合并分支

将test1_4.0.1合并到test1,在test1上右击,选择TortoiseSVN...->merge->Next->Next->

开发中常用的版本管理操作(svn和git)1 svn管理2 git管理3 提交记录与处理原则

Next->Merge,代码仅仅是合并到了本地目录test1,若有冲突,需要手工处理冲突,然后提交到svn服务器。分支合并完成。

1.6删除分支

TortoiseSVN... ->Repo-Browser->

开发中常用的版本管理操作(svn和git)1 svn管理2 git管理3 提交记录与处理原则

1.7版本回退

1.7.1回退本地为提交的修改

TortoiseSVN... ->Revert...

1.7.2回退已提交的修改

TortoiseSVN... ->Show log,在log列表里需要回退到的版本上右击,选Revert to this revision,代码回退到了这个版本,这个仅仅是代码修改,(若此时最新log是commit4),提交代码后会生成一个新的提交commit5。原来的log全部存在。

开发中常用的版本管理操作(svn和git)1 svn管理2 git管理3 提交记录与处理原则

2 git管理

2.1创建版本库

首先创建server上的git仓库

开发中常用的版本管理操作(svn和git)1 svn管理2 git管理3 提交记录与处理原则

然后需要在server机上为客户机授权。

客户机安装git客户端,启动

开发中常用的版本管理操作(svn和git)1 svn管理2 git管理3 提交记录与处理原则

创建秘钥

开发中常用的版本管理操作(svn和git)1 svn管理2 git管理3 提交记录与处理原则

然后将id_rsa.pub发给server管理员授权。

server上授权,就是将id_rsa.pub里的内容添加到server上git用户的home/.ssh/authorized_keys文件里。

2.2同步代码

客户机上进入自己想要同步远程库的目录,此处以D盘根目录为例,

开发中常用的版本管理操作(svn和git)1 svn管理2 git管理3 提交记录与处理原则

此时,同步完成。以后同步用命令git pull

2.3提交代码

Git add

Git commit -m “log”

Git push origin master  //首次push时使用,origin是远程仓库,master是本地分支。

查看本地分支用git branch,查看远程分支用git branch -r,查看远程仓库详情git remote -v

开发中常用的版本管理操作(svn和git)1 svn管理2 git管理3 提交记录与处理原则

2.4拉分支

Git checkout -b dev_2  //创建分支dev_2,并切换到这个分支上

Git push origin dev_2  //将本地分支dev_2推送到服务器仓库origin

其它人同步

Git pull后,可以直接切换分支git checkout dev_2

2.5合并分支

git merge dev //将dev分支合并到当前分支

这个合并行为发生在本地,完成后需要push到git远程服务器

2.6删除分支

Git branch -r -d origin/dev_2  //删除远程分支dev_2

git branch -d dev_2  //删除本地分支dev_2

2.7版本回退

Git reset --hard

Git reset --hard HEAD^  //回退最近一次提交

Git reset --hard HEAD~2  //回退最近两次提交

git reset --hard log_id  //回退到log_id对应的提交

3 提交记录与处理原则

如下是主干分支典型的提交日志

开发中常用的版本管理操作(svn和git)1 svn管理2 git管理3 提交记录与处理原则

如下是分支间协同工作图

开发中常用的版本管理操作(svn和git)1 svn管理2 git管理3 提交记录与处理原则