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
然后创建文件夹test1,这个文件夹才是我们真正的代码目录。返回checkout对话框,修正URL of repository和checkout directory,点击OK,同步完成。
以后通过右键->svn update更新代码
1.3提交代码
代码修改完后,在test1文件夹上右键单击,选择svn commit...,然后输入提交日志,点击OK,提交完成。
1.4拉分支
Test1目录上右键
点击OK,test1_4.0.1分支创建成功。然后在test目录上同步新创建的这个分支。
1.5合并分支
将test1_4.0.1合并到test1,在test1上右击,选择TortoiseSVN...->merge->Next->Next->
Next->Merge,代码仅仅是合并到了本地目录test1,若有冲突,需要手工处理冲突,然后提交到svn服务器。分支合并完成。
1.6删除分支
TortoiseSVN... ->Repo-Browser->
1.7版本回退
1.7.1回退本地为提交的修改
TortoiseSVN... ->Revert...
1.7.2回退已提交的修改
TortoiseSVN... ->Show log,在log列表里需要回退到的版本上右击,选Revert to this revision,代码回退到了这个版本,这个仅仅是代码修改,(若此时最新log是commit4),提交代码后会生成一个新的提交commit5。原来的log全部存在。
2 git管理
2.1创建版本库
首先创建server上的git仓库
然后需要在server机上为客户机授权。
客户机安装git客户端,启动
创建秘钥
然后将id_rsa.pub发给server管理员授权。
server上授权,就是将id_rsa.pub里的内容添加到server上git用户的home/.ssh/authorized_keys文件里。
2.2同步代码
客户机上进入自己想要同步远程库的目录,此处以D盘根目录为例,
此时,同步完成。以后同步用命令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
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 提交记录与处理原则
如下是主干分支典型的提交日志
如下是分支间协同工作图