iOS-将项目上传到 Git.OSChina 上,创建自己的私有项目

为什么要将项目上传到 Git.OSChina 上

  • GitHub上创建私有项目是收费的
  • git.oschina上可以创建1000个免费的项目
  • 服务器在国内,速度比GitHub

登录 git.oschina.net


配置 SSHKey

  • 为什么要配置SSHKey
    • 客户端与服务器进行通信的时候要保证安全,就需要在客户端配置私钥,在服务端配置公钥
    • SSHKey就是来配置公钥和私钥
    • 客户端负责生成私钥公钥
    • 公钥传递给服务器
  • 工作原理
    • 客户端发起一个请求到服务端
    • 服务端接到请求后,随机生成一个密钥,并使用AES加密后发送给客户端
    • 客户端接到响应后,因为在客户端有私钥,就可以对服务器返回的响应进行解密
    • 至此,服务端和客户端都有了随机生成的密钥
    • 再次进行网络请求的时候,对传输的内容进行AES的加密
    • 传输过程和HTTPS非常类似
  • 添加SSH公钥(如果你以前没有创建过)

如果你不确定你的电脑里有没有生成过SSHKey

  • 进入到.ssh文件夹目录下command + shift + G
~/.ssh

~代表用户当前目录(/Users/wanghongqing/.ssh) .代表 Mac 下隐藏的文件

  • 如果你有和我图片中一样的文件,那么就是以前你自己生成过,你可以选择继续使用。也可以选择删除重新生成。下面只介绍删除重新生成的做法
  • 删掉.ssh文件夹
  • 生成密钥对
ssh-keygen -t rsa -C "272338444@qq.com"
  • 设置私钥密码
    • 不需要太复杂,建议123456
  • 生成私钥文件和公钥文件
  • 此时会生成两个文件id_rsaid_rsa.pub
    • id_rsa.pub就是生成的公钥
    • id_ras.pub拖到Xcode中打开
    • 复制打开的文件内容,粘贴到git.oschina上。
  • 给公钥取名、粘贴公钥内容
  • 权限验证
  • 密钥生成
  • 查看新生成密钥

测试

  • 终端输入
ssh -T git@git.oschina.net
  • 第一次使用会出现让我们确认是否信任地址
    • 根据提示选择yes
    • 输入设定的密码123456
    • 出现Welcome to Git@OSC, (亦庄&吴彦祖)!证明设置成功

至此,配置完毕!以后该台电脑和oschina上面建立的任何部署都不需要再输入用户名密码了,一劳永逸。


新建项目

  • 创建项目
  • 设置项目基本信息
    • 项目名只能是英文英文和数字的组合
    • 一定要添加.gitignore
    • 开源协议一般都会选MIT,因为MIT是协议中限制最小的一个协议,任何人都可以拿到你的文件去修改
  • 生成项目

克隆项目到本地

  • 找到新建的项目
  • 复制项目地址
    • 因为你已经创建了SSHKey,所以此处选择SSH协议进行克隆
  • 下载项目到指定目录下
  • 文件夹内文件和OSChina项目文件对比
  • 查看git文件夹下文件
  • 所有文件的版本备份都在.git文件夹下,即使把代码文件都删除了,但是只要保留.git文件就可以进行新版本提交或者版本回退功能的。
  • 创建新工程文件
  • 将项目拖拽到 SourceTree 里面
  • GitHub上面下载.gitignore
  • 添加.gitignore
  • 如果你希望你工程的pod文件都不需要提交到git.oschina上,那么就将swift.gitignore文件用Xcode打开,将Pods注释打开
  • 设置gitignore为隐藏文件
  • 通过命令行也可以
mv Swift.gitignore .gitignore
  • 准备提交代码

这里建议用SourceTree这类图形化工具,因为如果直接用Xcode提交代码会忽略.gitignore

  • 提交代码
  • 提交成功

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算教程系列

如何在Ubuntu 16.04上为用户目录设置vsftpd

FTP是文件传输协议的缩写,是一种曾经广泛用于在客户端和服务器之间移动文件的网络协议。它已被更快,更安全,更方便的文件传输方式所取代。许多休闲网民希望直接用ht...

2450
来自专栏有困难要上,没有困难创造困难也要上!

Redis实现类似同步方法调用的功能(一)

36711
来自专栏云计算教程系列

如何在Debian 9上为用户目录设置vsftpd

FTP是文件传输协议的缩写,是一种曾经广泛用于在客户端和服务器之间移动文件的网络协议。它已被更快,更安全,更方便的文件传输方式所取代。很多休闲互联网用户希望直接...

4034
来自专栏云计算教程系列

如何在Ubuntu 16.04上安装Webmin控制面板和模块

Webmin是一个Web界面,允许您通过浏览器管理配置文件和重新加载程序,而无需SSH连接到您的Linode。它是cPanel或Plesk等管理面板的流行替代品...

4223
来自专栏北京马哥教育

SSH协议详解

一、 前言 使用SSH可以在本地主机和远程服务器之间进行加密地传输数据,实现数据的安全。而OpenSSH是SSH协议的免费开源实现,它采用安全、加密的网络连接...

7864
来自专栏向治洪

在Windows下搭建Gitlab服务器

一.GitLab简介 GitLab 是一个用于仓库管理系统的开源项目。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。 可通过Web界面进行访问...

1.7K10
来自专栏云计算教程系列

如何在Ubuntu 18.04上为用户目录设置vsftpd

FTP是文件传输协议的缩写,是一种曾经广泛用于在客户端和服务器之间移动文件的网络协议。它已被更快,更安全,更方便的文件传输方式所取代。许多普通网民希望通过htt...

1190
来自专栏我的博客

phpmailer发送邮件的详细说明

1、首先去下载phpmailer【phpmailer】 2、有找一个支持smtp的邮箱(我用的是qq邮箱) 3、把phpmailer解压到你web目录 4、书写...

4197
来自专栏FreeBuf

文件上传限制绕过技巧

文件上传漏洞是web安全中经常利用到的一种漏洞形式。一些web应用程序中允许上传图片,文本或者其他资源到指定的位置,文件上传漏洞就是利用这些可以上传的地方将恶意...

3472
来自专栏IT可乐

邮件实现详解(二)------手工体验smtp和pop3协议

  上篇博客我们简单介绍了电子邮件的发送和接收过程,对参与其中的邮件服务器,邮件客户端软件,邮件传输协议也有简单的介绍。我们知道电子邮件需要在邮件客户端和邮件服...

40010

扫码关注云+社区

领取腾讯云代金券