【转】Xcode托管代码到oschina中的教程
本文的以下内容较旧,常常会出现第一次配置成功可以用,但关机重启后就一直提示“username or password”不正确的bug,所以建议弃ssh方式转向https方式,更加稳定。传送门:点我。
===================================================
Xcode 已经集成了git,建立新项目时钩选使用git,然后按照下面步骤让Xcode和git@osc 建立连接。
第一步:成生SSH密钥
打开终端命令工具,输入命令:ssh-keygen -t rsa -C "diaosi@gmail.com"
注意ssh-keygen没有空格。屏幕输出:
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/diaosi/.ssh/id_rsa):diaosi
在上方输入生成的密钥文件名,如diaosi,屏幕输出:
Enter passphrase (empty for no passphrase): 输入密码
Enter same passphrase again: 确认密码
Your identification has been saved in diaosi.
Your public key has been saved in diaosi.pub.
The key fingerprint is:
25:fd:01:00:89:98:49:bf:2e:ac:32:2e:d2:5d:bf:98 diaosi@gmail.com
The key's randomart image is:
+--[ RSA 2048]----+
| ..+ ..o... |
| +.. . . . |
| . . o . |
| . o . . |
| . S . |
| . . . |
| .o... . |
|=.... o. |
|*o E .. |
+-----------------+
屏幕提示生成密钥文件成功,保存在/Users/diaosi文件夹下。
第二步:把diaosi.pub中的内容加入git@osc 的SSH密钥中

第三步:添加SSH并连接
输入命令:ssh-add ~/diaosi
~/diaosi 是刚刚生成的密钥文件路径,屏幕输出:
Enter passphrase for /Users/diaosi/diaosi:输入密码
Identity added: /Users/diaosi /diaosi (/Users/diaosi /diaosi)
输入命令ssh -T git@git.oschina.net,屏幕输出:
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 , 老左!
第四步:设置个人信息
输入命令:
git config –global user.name “diaosi” (有两个-号)
git config –global user.email diaosi@gmail.com
第五步:设置项目
获取git@osc 上的项目路径。

输入命令:cd 项目文件夹
输入命令:git remote add origin git@git.oschina.net:heqings/fitness.git
输入命令:git pull -u origin master //从git@osc 上拉取项目
输入命令:git push -u origin master //提交项目
第六步:Xcode集成
在Xcode中,提交代码到git@osc 前需提交到本地git,否则Xcode会提示你。
在项目或文件上选择文件提交到本地,这里需要注意的是,工程用户数据不要提交到git,因它实时在变化,本地和远程都不要提交,否则Push时提示有文件未提交。

以上文件不要提交。
把项目提交到本地:
File->Source Control->Commit
把项目提交到git@osc :
File->Source Control->Push

点击Push按钮即可。
=====================
若xcode工程在当时新建的时候没有勾选git也没事,几句话就可以在现有的工程中建立git管理:
cd到工程目录:
git init
git add .
git commit -m ‘initial’
====================
移除现有的git控制:
rm -fr .git
====================
git经常遇到的错误:
pull is not possible because you have unmerged files
解决方法见:http://halolk.blog.51cto.com/6916369/1304701
我的解决方法是,git commit -a
====================
oschina & xcode:里面的所有username都是指邮箱中@前的字符串,比如ABC@163.com中的ABC
【转】Xcode托管代码到oschina中的教程的更多相关文章
- (翻译)开始iOS 7中自动布局教程(二)
这篇教程的前半部分被翻译出来很久了,我也是通过这个教程学会的IOS自动布局.但是后半部分(即本篇)一直未有翻译,正好最近跳坑翻译,就寻来这篇教程,进行翻译.前半部分已经转载至本博客,后半部分即本篇.学 ...
- (转载)开始iOS 7中自动布局教程(一)
这篇教程的前半部分被翻译出来很久了,我也是通过这个教程学会的IOS自动布局.但是后半部分(即本篇)一直未有翻译,正好最近跳坑翻译,就寻来这篇教程,进行翻译.前半部分已经转载至本博客,后半部分即本篇.学 ...
- 【转】开始iOS 7中自动布局教程(一)
原文网址:http://www.cocoachina.com/industry/20131203/7462.html 原文:Beginning Auto Layout Tutorial in iOS ...
- 开始iOS 7中自动布局教程(一)
本文转载至 http://www.cocoachina.com/industry/20131203/7462.html 到目前为止,如果你的设计相当的复杂,那么你必须编写大量的代码来适应这样的布局.你 ...
- python操作txt文件中数据教程[4]-python去掉txt文件行尾换行
python操作txt文件中数据教程[4]-python去掉txt文件行尾换行 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文章 python操作txt文件中数据教程[1]-使用pyt ...
- python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件
python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 python操作txt文件中 ...
- python操作txt文件中数据教程[2]-python提取txt文件
python操作txt文件中数据教程[2]-python提取txt文件中的行列元素 觉得有用的话,欢迎一起讨论相互学习~Follow Me 原始txt文件 程序实现后结果-将txt中元素提取并保存在c ...
- python操作txt文件中数据教程[1]-使用python读写txt文件
python操作txt文件中数据教程[1]-使用python读写txt文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 原始txt文件 程序实现后结果 程序实现 filename = '. ...
- Xcode 6.4项目中的常见文件(info.plist)
Xcode 6.4项目中的常见文件(info.plist) 代码中获取 info.plist[NSBundle mainBundle] infoDictionary]; Bundle display ...
随机推荐
- 前端技术Bootstrap的hello world
----对于用户来说,界面就是程序本身.那么一个漂亮的web一定是你继续使用这个应用的前题. 这一节我们来一起写个Bootstrap的hello wrold. Bootstrap Bootstrap ...
- spring事务与消息队列
在开发过程中,遇到一个bug,产生bug的原因是spring事务提交晚于消息队列的生产消息,导致消息队列消费消息时获取到的数据不正确.这篇文章介绍问题的产生和一步步的解决过程. 一.问题的产生: 场景 ...
- .net core 1.0 Web MVC 自定义认证过程
通过官方的介绍可知,若要本地开始部署搭建一个基于.net core 1.0的Web应用,需要下载dotnet SDK,或在Visual Studio IDE之上安装相关插件以布置开发环境.为了使开发环 ...
- jQuery对Table一个字段排序
最近做一个机票的系统,要对航班信息进行排序,所以整理了一下,把排序的方法写下来. 首先table的结构大概如下 最后显示的样式为 首先在每一个tr上加一个自定义属性:data-sort-field-f ...
- IE11之F12 Developer Tools--控制台工具(Console)
前面我们介绍了IE11的Developer Tools中的第一个工具--DOM Explorer,这篇文章介绍第二个工具--控制台(Console),使用控制台工具查看错误和其他信息.发送调试输出.检 ...
- JS 数组去重(数组元素是对象的情况)
js数组去重有经典的 几种方法 但当数组元素是对象时,就不能简单地比较了,需要以某种方式遍历各值再判断是否已出现. 因为: 1.如果是哈希判断法,对象作哈希表的下标,就会自动转换成字符型类型,从而导致 ...
- Codeforces Round #313 (Div. 1) A. Gerald's Hexagon
Gerald's Hexagon Problem's Link: http://codeforces.com/contest/559/problem/A Mean: 按顺时针顺序给出一个六边形的各边长 ...
- WebApi中跨域解决办法
在做Web开发中,常常会遇到跨域的问题,到目前为止,已经有非常多的跨域解决方案.由于时间有限,本文不会深入. 笔者遇到的问题是Js调用WebAPI中的数据进行跨域的场景.涉及若干跨域方案: 方案1:j ...
- 使用jQueryUI的dialog实现一个提示功能
信息提示给用户是程序开发中,最常用的一个功能. Insus.NET使用jQueryUI的dialog来实现一个,可以定义标题,对话框的大小等. 在ASP.NET MVC环境下来演示吧. 在Octobe ...
- HTML5实现音频播放
Web 上的音频 直到现在,仍然不存在一项旨在网页上播放音频的标准. 今天,大多数音频是通过插件(比如 Flash)来播放的.然而,并非所有浏览器都拥有同样的插件. HTML5 规定了一种通过 aud ...