Xcode中使用GitHub

1.需要一个GitHub账户,这里注册从略。
2.在GitHub中创建一个新的repository。


屏幕快照 2017-07-26 下午11.49.15.png

其中这里的readme最好打上勾,可以在里面写内容介绍。
3.在本机生成SSH KEY。
在终端先检查有没有存在的密钥文件:
$ ls -al ~/.ssh

屏幕快照 2017-07-31 下午1.13.28.png

这里的id-rsa和id-rsa.pub就是密钥文件。
如果没有就需要生成:
$ ssh-keygen -t rsa -b 4096 -C "你的GitHub账号邮箱"
Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]
回车保存。我已经有了rsa文件所以是提示overwrite。
Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]
这里输入两次密码,以后用于连接GitHub的时候用,也可以直接回车不用密码
$ pbcopy < ~/.ssh/id_rsa.pub
拷贝你的密钥文件内容到剪切板备用。

4.github上绑定生成的SSH KEY。


屏幕快照 2017-07-26 下午11.51.55.png

在这里的settings里面,找到ssh key:


屏幕快照 2017-07-26 下午11.54.06.png

把剪切板的内容拷贝至弹出窗口key,Title取名为你当前使用的机器作为标识。
github设置完毕,进入Xcode。

5.在Xcode中选择checkout:


屏幕快照 2017-07-26 下午11.57.03.png

在enter a repository location中,填入刚才建好的repository的地址,这个地址在下图中找,把这个git开头的字符串复制过去。
屏幕快照 2017-07-26 下午11.58.34.png

屏幕快照 2017-07-26 下午11.58.56.png

Next,选择项目存放路径,等待片刻后就克隆下来了,只有github上的README文件。
6.接下来新建工程,保存到刚才克隆下来的目录中。比如:我建了一个github目录,克隆的时候放在这个目录中,在github中的SwiftForBmob就建了一个目录,作为repository的目录。然后我新建Xcode工程的时候,应该建在这个目录中,作为repository的一部分,所以现在本地仓库应该是有个readme和Xcode建的SwiftForBmob目录。
屏幕快照 2017-07-27 上午12.05.53.png

7.这时候在Xcode的source control菜单中,选择“push”。
屏幕快照 2017-07-27 上午12.09.51.png

这样就把当前的工程推送到github中了。
8.与他人协作:::
Pull Requests:修改过后,推送修改的请求
issues:问题,bug
Collaborators:合作者

甲方,乙方,甲方github库,甲方本地库,乙方github库,乙方本地库。
甲方建好github库和本地库。
乙方fork甲方github库,到乙方github库,Xcode checkout到乙方本地库。
乙方从issues中寻找自己可以解决的问题,尝试解决后,commit乙方本地库后push到乙方github库。向甲方github库Pull Requests。

9.保持和原作者同步的更新的方法
1、进入你的Github发起Pull Request
2、选择Compare across fork

屏幕快照 2017-08-02 上午10.59.36.png

3、然后反向操作,base改成自己的Fork,head改成原作者的,然后Github会自动比较改过的地方让后发起Pull Request,接着在自己项目的Request页面合并一下就行了。

10.pod和xcworkspace没有push:
先去命令行在目录中把track缓存删除,重新添加所有文件的track,提交,push,就能上传所有文件。
git rm -r --cached .
git add .
git commit -m 'update .gitignore'

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,067评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,821评论 25 709
  • github -help常用命令: git克隆项目(下载代码) git clone http://192.168....
    Smallwolf_JS阅读 322评论 0 0
  • 最近出去玩总是会碰到很多老年人,有一群叽叽喳喳的大妈,比如今天在地铁上,寻常我对于在公共场合扯嗓子的人群是有些不悦...
    Ann_b977阅读 350评论 0 0
  • 潘云89年生人,他说他有哥,他哥有儿子,要找不到能对付的人,他就一个人过一辈子。潘云说抽烟的男人都是有故事的男人。...
    晓拙阅读 117评论 0 0