源代码版本管理的基本概念
举例
- VCS
- SCM
- CVS,SVN,ClearCase
- Git,Mercurials
分类:
- 基于文件的:RCS,SCCS
- 基于中心服务器的:CVS,SVN,SS,TFS
- 分布式的:Git,Mercurial,Bazaar
用途
- 备份:改回原来版本
- 协作:合并、解决冲突
Git
特点
- 基于commit进行管理,而不失文件
- 独特的staging area(暂存工作区)
基本用法
上传下载
- git init//在本地建立一个新仓库
- git clone url// 从服务器上克隆一个仓库到本地
- git remote add name url //管理远程仓库
- git pull [name branch]//下载
- git push name branch //上传
- git add//
- git commit
撤销修改
-
撤销仅在工作副本中的修改
git checkout --file -
撤销已经登记到 stage 中的修改
git reset HEAD file //(退回到工作副本)
git reset --hard HEAD file//(退回到最后一次提交状态) -
撤销已提交到本地仓库的修改
git revert<commit rev>//(抵消)
git reset -hard <commit rev>//(撤销) -
撤销已经推送到服务器中的修改
git revert
Branch 和 Tag
- 用途:长期 重大修改
- 创建:git branch name(自动提供主提交流名为 :master)
- 使用:也是commit 指针
- 合并:
- 结束: git branch -d name
版本发行等,适合用 Tag 做记录
annotated:git tag -a name[rev]
lightweight:git tag name [rev]
注意:tag 不会自动推送给 remote
Git特色: rebase
操作演示 in Xcode
1.在创建project时选择Git支持
![](https://img.haomeiwen.com/i1702116/ae2829eb786f6546.jpg)
2.这样在项目菜单中的source control 中就有相关的选项了
![](https://img.haomeiwen.com/i1702116/435686be58d4fadf.jpg)
![](https://img.haomeiwen.com/i1702116/d769c53cd4a98390.jpg)
3.做一个修改后 相关的文件就回显示一个M
的标记
![](https://img.haomeiwen.com/i1702116/7b42937f370225f9.jpg)
4.commit,会显示修改的内容
![](https://img.haomeiwen.com/i1702116/1140869fb623d9d7.jpg)
![](https://img.haomeiwen.com/i1702116/5321ad9387172674.jpg)
5.这样在历史中就可以看到版本的情况了
![](https://img.haomeiwen.com/i1702116/2fdced7961cce87d.jpg)
6.如果要通过服务器保存代码的话,需要设置服务器信息
![](https://img.haomeiwen.com/i1702116/b7aa768b88e73529.jpg)
![](https://img.haomeiwen.com/i1702116/78d84270da26a5e1.jpg)
7.然后通过check out 功能选择项目
![](https://img.haomeiwen.com/i1702116/fa4cb63d1607d54a.jpg)
![](https://img.haomeiwen.com/i1702116/5804f723526bdfae.jpg)
8.push to remote
![](https://img.haomeiwen.com/i1702116/b45fb7d56c15abff.jpg)
几个视图
- 比较
![](https://img.haomeiwen.com/i1702116/d00edfbdc1ee8b4f.jpg)
![](https://img.haomeiwen.com/i1702116/aa178bd231d52e60.jpg)
- Blame视图
![](https://img.haomeiwen.com/i1702116/eda95489c96346eb.jpg)
![](https://img.haomeiwen.com/i1702116/5cedd9cee744c08b.jpg)
- log
![](https://img.haomeiwen.com/i1702116/8a65fcb41d27ac88.jpg)
![](https://img.haomeiwen.com/i1702116/b0b6d0992db32118.jpg)
网友评论