码迷,mamicode.com
首页 > 其他好文 > 详细

版本管理工具总结

时间:2017-10-13 12:46:48      阅读:19      评论:0      收藏:0      [点我收藏+]

标签:tco   代码仓库   xxx   修改   远程仓库   1.4   换工作   stream   本地   

SVN

概念:
1> Repository 代码仓库,保存代码的仓库
2> Server 服务器,保存所有版本的代码仓库
3> Client 客户端,只保存当前用户的代码仓库
4> 用户名&密码 访问代码仓库需要使用自己的"用户名和密码",从而可以区分出不同的人对代码做的修改

操作:
1> checkout 将服务器上最新的代码仓库下载到本地,"只需要做一次"
2> update 从服务器上将其他人所做的修改下载到本地,"每天上班必须要做的事情"
3> commit 将工作提交到服务器,"每天下班之前至少做一次"
  • SVN服务器安装(略)
  • SVN常用命令
切换工作目录
$ cd 工作目录
checkout服务器上的代码仓库
$ svn co http://xxx/svn/xxxx --username=manager --password=manager

提示:checkout(co)之后,命令行会记录用户名和密码,后续操作不用再另行指定

查看本地代码库状态
$ svn st
错误提示:"is not a working copy",必须在svn的工作目录下才能正确使用svn的命令
查看svn日志
$ svn log
查看某一个文件的日志
$ svn log filename
查看某一个文件某个版本的日志
$ svn log [email protected]

创建文件
$ touch main.c
打开并编写文件内容
$ open main.c

查看工作目录状态
$ svn st
将文件添加到本地版本库中
$ svn add main.c/main.*
将文件提交到服务器的版本库中
$ svn ci -m "备注信息"
注意:一定要养成写注释的良好习惯

删除文件
$ svn rm Person.h
提交删除
$ svn ci -m "删除了文件"
注意:不要使用文件管理器直接删除文件

撤销修改
$ svn revert Person.m

恢复到之前的某个版本
$ svn update -r 5

冲突解决
(p) postpone 对比
(mc) mine-conflict 使用我的
(tc) theirs-conflict 使用对方的

svn st 显示的文件状态

‘ ‘ 没有修改
‘A‘ 被添加到本地代码仓库
‘C‘ 冲突
‘D‘ 被删除
‘I‘ 被忽略
‘M‘ 被修改
‘R‘ 被替换
‘X‘ 外部定义创建的版本目录
‘?‘ 文件没有被添加到本地版本库内
‘!‘ 文件丢失或者不完整(不是通过svn命令删除的文件)
‘~‘ 受控文件被其他文件阻隔

Git

 
配置用户名和邮箱
$ git config user.name manager
$ git config user.email [email protected]
以上两个命令会将用户信息保存在当前代码仓库中
 
如果要一次性配置完成可以使用一下命令
$ git config --global user.name manager
$ git config --global user.email [email protected]
以上两个命令会将用户信息保存在用户目录下的 .gitconfig 文件中
查看当前所有配置
$ git config -l
 
创建tag‘
git tag -a v1.4 -m ‘my version 1.4’
显示tag信息
git show v1.4
删除标签
git tag -d v1.0
推送到远程
git push origin v1.5
 
创建分支dev
git branch dev
切换到分支dev
$ git checkout dev
合并指定分支到当前分支
git merge dev
 
回到上一个版本
$ git reset --hard HEAD
 
 
回到指定版本号的版本
$ git reset --hard e695b67
 
查看分支引用记录
$ git reflog  
find . -name ".git" | xargs rm -Rf  //删除文件夹下的所有 .git 文件
 
 
添加远程仓库地址
修改远程仓库地址
git remote set-url origin [email protected]:robbin/robbin_site.git
手动建立追踪关系
git branch --set-upstream master origin/next
 
  • 首先从远程的origin的master主分支下载最新的版本到origin/master分支上
  • 然后比较本地的master分支和origin/master分支的差别
  • 最后进行合并
$ git fetch origin master
$ git log -p master..origin/master
$ git merge origin/master

版本管理工具总结

标签:tco   代码仓库   xxx   修改   远程仓库   1.4   换工作   stream   本地   

(0)
(0)
   
举报
评论 一句话评论(0
0条  
登录后才能评论!
© 2014 mamicode.com 版权所有 京ICP备13008772号-2
迷上了代码!