一、SVN的基本使用:
CornerStone是Mac OS X系统下非常好用的一款svn工具,至XCode5之后,本人觉得XCode5的Svn实在让人不得要领,而CornerStone配置虽不难,但也有几个需要注意的地方,分享给大家,也希望大家能多提意见。
已经安装了的小伙伴请直接看三步骤:
一、下载地址
CornerStoneV2.6:http://pan.baidu.com/s/1qWEsEbM ,密码:www.macx.cn
二、安装破解方法
1、安装之前将本机日期改为未来的某个日期,然后双击安装,按照指定流程操作即可
2、如果安装前忘记改日期,则只能通过修改plist的方式进行破解
a.显示系统隐藏文件,打开终端,输入,回车
defaults write ~/Library/Preferences/com.apple.finder AppleShowAllFiles -bool true
b.重启Finder按住Command+Option+esc打开对话框,选中Finder,点击重新开启
c.在Finder中前往~/Library/Preferences/ByHost,找到其中的GlobalPreferences.…….plist文件,删掉包含有"com.zennaware.Cornerstone"字样的这一行,即清除了安装记录
d.清除安装记录之后,如果这时电脑中没有CornerStone,则按照1步骤进行安装,如果已经安装,则卸载后按照1过程再次安装,即得到永久破解版
三、添加repository
点击左侧栏中REPOSITORY那一栏的+选择添加repository
如果你公司的给你的repository地址为svn://开头,则选择SVN Server,如果为Http://或https://开头,则选择HTTP Server
1.SVN配置
假设你公司svn地址为:svn://192.168.1.111/svn/ios,用户名:svnserver,密码:123456
1:填写主机地址
2:如果你的主机地址中有端口号,如为192.168.1.111:8080,则2中填写8080
3:填写主机后面的路径
4:自动生成,如果你填写完之后不是这种svn://用户名@主机地址:端口号/路径的格式,则说明填写有误
5:也会自动生成,将会在侧边栏显示为5中的名称,可以自定义名称
6:用户名
7:密码
以上信息填写无误之后选择添加即可,如遇添加失败,信息填写无误,则联系管理员,查看地址,用户名,密码是否正确
2.HTTP配置
与svn一样,只有一个地方需要注意,如果地址是https://,则需修改下图所示位置的选项为HTTPS,否则也会添加失败
四、使用简介
1.上传项目到repository
可以直接拖动到repository的子文件夹中,或是选择软件上方的Import按钮上传,会弹出选项填写所在位置及名称,然后选择Import即可
2.下载项目
下载分为两种:Export和Check Out,区别在于,Export后的项目不会与repository中的源文件相关联,是一个独立的版本,而Check Out下来的文件会创建一个working copy,参见步骤三的第一幅图,此文件与库中源文件相关联,当有新版本(他人修改)或是本地修改(自己修改)时,working copy会显示修改数量,白色数量为他人修改数量,灰色数量为本人修改数量
所以如果你是项目中的开发人员,可以选择checkout,如果只是下载查看,不希望自己的修改影响到整个项目,最好是选择Export
3.版本管理
每一次提交会创建一个新版本,在repository中会保存所有历史版本,如下图(可通过修改人及提交信息进行检索版本),所以用svn开发可以很好的控制项目出现不可解决及未知bug时代码的修复问题:
svn方便了多人开发同一项目的代码合并问题,但是也有一些事项需要注意:
①先更新后提交
在看到有新版本(即同伴已经提交代码时),先更新代码,直至working copy不再显示白色圈,然后运行代码确定可运行且功能无误之后再commit自己的代码,否则,会造成项目中出现多处冲突或bug,且很难排查原因
②完成独立功能后再提交,且务必填写提交信息
每完成一个独立的功能,或解决一个bug之后再提交代码,不要连续多次重复提交,造成版本过多过杂,且提交时务必填写提交信息,交代本次完成了什么功能,方便上图中可以进行message的搜索来查看历史版本
③冲突文件
原则上同一组开发人员最好不要在同一文件中进行操作,但有时候必须去其他文件中进行操作,或者是误操作,如果同时多人在同一文件的同一位置修改代码,后提交的人会出现版本冲突文件,一般会有三个同样名称不同后缀的文件
.mine文件:本人所做修改
两个.r0XX文件:XX为数字,数字较小的为更改前的文件,较大的为更改后的文件,在文件中会有<<<< mine .r0XX >>>>>等字样包含起来的代码,即冲突的地方,此时请和组内同事讨论或自己删除某部分修改文件后进行调试,修复文件
针对ios项目:出现某个工程或文件打不开的情况,如果为.project文件无法打开,则选择显示包内容->用文稿打开project.pbxproj文件->搜索.mine,将.mine部分前后<<<< >>>>包含起来的代码删除,工程就可以打开了,如果build时出现某个xib文件打不开的错误,则选中,用文稿打开,跟上文同样操作即可解决无法build的问题
④新添加文件
提交时新增加的文件显示为问号状态的,请选中右击后选择Add to Working Copy之后再commit
二、Git的基本使用:
github和svn一样是一个代码的托管平台,是分布式版本控制系统。
在终端的使用:
注册账号:
首先你要GitHub的账号
然后创建ssh:
# 切换目录,MAC中目录的第一个字符如果是 `.` 表示改文件夹是隐藏文件夹
打开终端:$ cd ~/.ssh //检查是否已经存在有ssh
#查看当前目录文件:ls
如果存在先将已有的ssh备份或者把新建的ssh生成到另外的文件目录下
# 生成 RSA 密钥对
# 1> "" 中输入个人邮箱(注册github时的邮箱)
# 2> 提示输入私钥文件名称,直接回车
# 3> 提示输入密码,可以随便输入,只要本次能够记住即可
$ ssh-keygen -t rsa -C "xxx@126.com"
# 查看公钥内容
$ cat id_rsa.pub
测试公钥:
Hi MiracleHe! You've successfully authenticated, but GitHub does not provide shell access.
新建项目:Create a New Repository
按照上面的步骤来就行了(注意记得在终端中输入时把目录切换到你要上传的工程目录下)。简单分析下上面的步骤:
touch README.md //新建一个记录提交操作的文档
git init //初始化本地仓库
git add README.md //添加
git commit -m "first commit"//提交到要地仓库,并写一些注释
git remote add origin git@github.com:youname/Test.git //连接远程仓库并建了一个名叫:origin的别名
git push -u origin master //将本地仓库的东西提交到地址是origin的地址,master分支下
//克隆项目:git clone XXXXXX
//添加gitignore 去github下载,然后放到文件夹中,去掉前面的object-C,剩下.gitignore即可
显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles YES
隐藏Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles NO
注:可以从 https://github.com/github/gitignore 获取最新版本的 gitignore 文件
添加 .gitignore 文件之后,每次提交时不会将个人的项目设置信息(例如:末次打开的文件,调试断点等)提交到服务器,在团队开发中非常重要
如果输入$ git remote add origin git@github.com:djqiang(github帐号名)/gitdemo(项目名).git
提示出错信息:fatal: remote origin already exists.
解决办法如下:
1、先输入$ git remote rm origin
2、再输入$ git remote add origin git@github.com:djqiang/gitdemo.git 就不会报错了!
3、如果输入$ git remote rm origin 还是报错的话,error: Could not remove config section 'remote.origin'. 我们需要修改gitconfig文件的内容
4、找到你的github的安装路径,我的是C:\Users\ASUS\AppData\Local\GitHub\PortableGit_ca477551eeb4aea0e4ae9fcd3358bd96720bb5c8\etc
5、找到一个名为gitconfig的文件,打开它把里面的[remote "origin"]那一行
删掉就好了!
如果输入$ ssh -T git@github.com
出现错误提示:Permission denied (publickey).因为新生成的key不能加入ssh就会导致连接不上github。
解决办法如下:
1、先输入$ ssh-agent,再输入$ ssh-add ~/.ssh/id_key,这样就可以了。
2、如果还是不行的话,输入ssh-add ~/.ssh/id_key 命令后出现报错Could not open a connection to your authentication agent.解决方法是key用Git Gui的ssh工具生成,这样生成的时候key就直接保存在ssh中了,不需要再ssh-add命令加入了,其它的user,token等配置都用命令行来做。
3、最好检查一下在你复制id_rsa.pub文件的内容时有没有产生多余的空格或空行,有些编辑器会帮你添加这些的。
如果输入$ git push origin master
提示出错信息:error:failed to push som refs to .......
解决办法如下:
1、先输入$ git pull origin master //先把远程服务器github上面的文件拉下来
2、再输入$ git push origin master
3、如果出现报错 fatal: Couldn't find remote ref master或者fatal: 'origin' does not appear to be a git repository以及fatal: Could not read from remote repository.
4、则需要重新输入$ git remote add origingit@github.com:djqiang/gitdemo.git
本地创建一个项目的过程:
$ makdir ~/hello-world //创建一个项目hello-world
$ cd ~/hello-world //打开这个项目
$ git init //初始化
$ touch README
$ git add README //更新README文件
$ git commit -m 'first commit' //提交更新,并注释信息“first commit”
$ git remote add origin git@github.com:defnngj/hello-world.git //连接远程github项目
$ git push -u origin master //将本地项目更新到github项目上去
//删除文件夹下的所有 .svn 文件
参考文章:http://www.cnblogs.com/heyonggang/p/3462191.html
git实战: http://www.jianshu.com/p/87e34894a9f9
git的分支管理:http://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%AE%A1%E7%90%86
http://zhidao.baidu.com/link?url=O3w20zmzCQigM6xLEzwLTq_lX8lq_QFIJ1z0zF7QLHPUK9HGtV6n2BfjPBmPvjCAi3c19HGx1PjIOgXfFoMxUvppXpeDi8x5R3YBZXo_Nha
SourceTree:http://www.myexception.cn/other/1997033.html