谢谢 @老左
但建立连接后,直接使用XCODE的SOURCE CONTROL来提交更新也可以,不用每次输入命令行
第一步:成生SSH密钥
假设在USERS目录下创建一个比如oschina目录
打开终端命令工具,输入命令:ssh-keygen -t rsa -C "[email protected]"
注意ssh-keygen没有空格。屏幕输出:
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/osckey/.ssh/id_rsa):osckey
在上方输入生成的密钥文件名,如diaosi,屏幕输出:
Enter passphrase (empty for no passphrase): 输入密码
Enter same passphrase again: 确认密码
Your identification has been saved in osckey.
Your public key has been saved in osckey.pub.
The key fingerprint is:
25:fd:01:00:89:98:49:bf:2e:ac:32:2e:d2:5d:bf:98 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
| ..+ ..o... |
| +.. . . . |
| . . o . |
| . o . . |
| . S . |
| . . . |
| .o... . |
|=.... o. |
|*o E .. |
+-----------------+
屏幕提示生成密钥文件成功,保存在/Users/oschina文件夹下。
第二步:把osckey.pub中的内容加入git@osc 的SSH密钥中,类似下图(偷懒还是用老左的图)
第三步:添加SSH并连接
在oschina目录下输入命令:
ssh-add ~/oschina/osckey
~/oschina是刚刚生成的密钥文件路径,屏幕输出:
Enter passphrase for /Users/oschina/osckey:输入密码
Identity added: /Users/diaosi /diaosi (/Users/oschina/osckey)
输入命令ssh -T [email protected],屏幕输出:
The authenticity of host 'git.oschina.net (58.215.179.44)' can't be established.
RSA key fingerprint is 14:b8:b8:0b:c2:b2:5e:ae:f2:21:f8:18:4d:3a:be:fc.
Are you sure you want to continue connecting (yes/no)? yes(输入yes),屏幕输出:
Warning: Permanently added 'git.oschina.net,58.215.179.44' (RSA) to the list of known hosts.
Welcome to Git@OSC , onedot!
第四步:设置个人信息
输入命令:
git config --global user.name “Onedot”
git config --global user.email "[email protected]"
第五步:创建OSC项目或读取原有OSC项目
获取git@osc 上的项目路径。
输入:git remote add origin [email protected]:heqings/fitness.git
第六步:Xcode集成
这步和老左不同,直接使用Xcode管理代码和连接OSC GIT
启动XCODE,会出来是否创建项目,在创建新项目下方,有打开远程项目选项
点击,添加项目SSH的GIT地址
系统自动checkout到新目录下
(建议如果是新项目也一样,在OSC GIT上先建立空项目,然后一样checkout选择存放目录,然后再新建XCODE项目和代码放在刚才的checkout生成的目录下即可)
然后修改代码,commit和PUSH
其他切换分支、PUSH,PULL等等都一样,非常方便,不需要命令行了
当然特殊情况下还是可以使用命令行操作
点击Push按钮即可。
重要提示:比较恶心的是每次重新启动系统后,都要先执行第3步的 ssh-add ~/oschina/osckey ,验证一下密码
然后XCODE里的SOURCE CONTROL才能正常。如果第3步ssh-add 不重做则PUSH时会提示输入密码,但即便你输入密码也不对,我也没弄明白原因,如果有人知道如何改进不用每次开机后执行ssh-add 谢谢告诉我!