/*
1.SVN ***********************************************
SVN是集中式源代码管理工具
概念:
1)Repository 代码仓库,保存代码的仓库
2)Server 服务器,保存所有版本的代码仓库
3)Client 客户端,只保存当前用户的代码仓库
4)用户名&密码 访问代码仓库需要使用自己的用户名和密码,区分不同的人对代码做的修改
操作:
1)checkout 将服务器上最新的代码仓库下载到本地,“只需要做一次”,即当新接手项目时,checkout下来服务器上的代码
2)update 从服务器上将其他人所做的修改更新到本地,“协同coding,当某个环节同事有代码提交,随时更新,以便产生不必要的冲突。每天上班第一件事必做”
3)commit 将本地修改代码提交到服务器。“下班之前必须做一次”
常用命令:
1)切换工作目录
cd工作目录 checkout服务器上的代码
svn co http://xxx/svn/xxxx --username=manager --password=manager
checkout(co)之后,命令行会记住用户名和密码,后续操作不再另行指定
2)查看本地代码库状态 svn st (注意,需要在svn的工作目录下才能正确使用svn命令)
3)查看svn日志 svn log
4)查看某一个文件的日志 svn log filename
5)查看某一个文件某个版本的日志 svn log filename@1
6)创建文件 touch main.c
7)打开并编写文件内容 open main.c
8)查看工作目录状态 svn st
9)将文件添加到“本地版本库”中 svn add main.c/main.*
10)将文件提交到“服务器的版本库”中 svn ci -m "备注信息"
11)删除文件 svn rm Person.h
12)提交删除 svn ci -m "删除了某文件"
13)撤销修改 svn revert Person.h
14)恢复到之前的某个版本 svn update -r 4
15)冲突解决
(p) postpone 对比
(mc) mine-conflict 使用我的
(tc) theirs-conflict 使用对方的
推荐一款SVN工具,Cornerstone
2.GIT ***********************************************
git是一款开源的分布式版本控制工具
常用命令
1)git help 查看git所有命令
2)git help 子命令 退出:q 下页:space 上页:command+B 搜索:“/”+"相关文字"
3)git init 创建代码仓库
4)git config user.name manager git config user.email manager@gmail.com 配置用户名和邮箱
5)git config -l 查看当前所有配置
6)touch main.c open main.c 创建文件,打开文件
7)git status 查看当前代码库的状态
8)git add main.c 将文件添加到代码库
9)git commit -m "添加了main.c" 将修改提交到代码库
10)git add . 将当前文件夹下所有新建和修改的文件一次性提交到代码库
11)git log 查看所有版本库日志
12)git log 文件名 查看指定文件的版本库日志
13)git reset --hard HEAD 回到当前版本,放弃所有没有提交的修改
14)git reset --hard HEAD^ 回到上一个版本
15)git reset --hard HEAD~3 回到之前第三个版本
16)git reset --hard e695b67 回到指定版本号版本
17)git reflog 查看分支引用记录
推荐一款GIT工具,SourceTree
GIT与SVN的相同点与不同点:
相同点:能追踪一个项目从诞生到结束所经历的过程。记录项目所有内容的变化(好找锅)。方便查阅对应版本的功能情况,修改情况。
不同点:SVN是集中式,GIT是分布式管理。这两者的区别是:SVN的核心是服务器,开发者所有的操作都离不开服务器。GIT是分布式管理,不存在主库这样的概念,每一个库都可以独立使用,任何两个库之间的不一致的地方都可以进行合并。
*/