Git
- git init:初始化本目录为一个仓库
- git clone git@github.com:ChenNan-FRAM/Fenvo.git : 克隆一个远程仓库
- git add:提交到本机版本库,不提交至服务器最新版本库
- git commit -a -m “注释”:把修改的文件先提交到stage,然后再从stash提交到branch
- git diff 对比工作区和stage文件的差异
- git diff –cached 对比stage和branch之间的差异
- git branch:列出当前repository下的所有branch
- git branch –a:列出local 和remote下的所有branch
- git ls-files –stage:检查保存在stage的文件
- git log:显示到HEAD所指向的commit为止的所有commit记录 。
- git push origin master:推送修改到分支
- git pull:拉取远程仓库的修改
git status:查看工程状态
使用reset HEAD~n 命令使HEAD指针向前移动,会导致HEAD之后的commit记录不会被显示。 Git clone时也支持http协议,但比较慢 commit有冲突也需要手动解决
这里推荐一个大牛的Git博客。写得很详细廖雪峰
SVN
- svn checkout 工程URL –username 用户名 –password 密码: 将服务器代码复制到当前目录
- svn checkout 目录:将服务器代码复制到指定目录
- svn add 文件名/目录:提交到本机版本库,不提交至服务器最新版本库
- svn commit -m “注释”:提交修改到服务器
- svn update:从服务器同步版本,默认更新到最新版本
- svn update -r 版本号 :更新到指定版本
- svn update -r 版本号 文件:指定文件更新到指定版本
- svn log:查看所有的版本纪录
- svn log -v -r 版本号:查看指定版本号的修改纪录
- svn diff:查看当前版本与服务器版本的差别
- svn diff -r m:n (文件名):查看两个版本之间的差别
- svn status:查看当前工程的状态
svn revert:恢复原始未改变的工作副本文件 (恢复大部份的本地修改)
新文件必须先add再commit add 目录会递归把子目录所有文件都一并提交进去 如果commit有冲突,必须手动解决冲突,然后使用:svn resolved filename resolved不会依语法来解决冲突或是移除冲突标记; 它只是移除冲突的相关文件,然后让 PATH 可以再次提交。
这里再介绍一个Mac上SVN常用的管理工具,也有windows版本的。
SVN工具:SmartSVN For Mac
主要功能:
1、Check Out:从服务器上检查一份已存在代码。
Project->Check Out->Respository:输入SVN的URL;
->continue:进入到增加仓库配置的详细页面,包含SVN的验证信息(一般是账号和密码);
->continue:设置远程仓库的存放目录以及其他属性,一般默认即可。
(一般直接进入程序默认会弹出SVN仓库的选择,如果本地有SVN仓库直接选择Open existing project(s))
2、Update:选择需要更新的文件夹右键Update。
3、Commit:提交本地更改文件。
一是新添加的文件需要先点击Add+按钮,将文件先添加到提交列表,然后点击commit;
二是注意隐藏文件的提交:
比如iOS开发的静态库.a文件的提交,容易被客户端给忽略掉了
可以选择菜单View-ignored Fileds 查看是不是给需要提交的文件给忽略了
如果忽略了,将其选中,选择添加,然后commit;
三是注意删除文件,如果在工程中删除了,在客户端中直接选中删除的文件,Remove,然后commit。
如果在处理删除文件的时候总是提示“XXXOut of date”
则需要先将改文件夹 Revert,然后update,在执行删除动作。
4、Log:
Query->Log
该功能看某个仓库,在一段时间内,多少人提交了代码以及提交的时间,提交的内容等,在责任。
5、Annotate:
Query->Annotate
选中冲突的文件,点击Chanes按钮,然后进入到解决冲突的页面,可以根据实际情况来解决。
6、乱码问题:
在菜单Project--setting和Defualt Setting里面设置字符集为UTF-8格式。