百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

iOS开发:Gitlab与Xcode的无缝连接

bigegpt 2024-09-18 08:04 3 浏览

写在前面:

  • 由于项目组的人事变动,由之前的多人开发转为独自开发。个人的决策比较自由,所以我准备把项目从临时SVN服务器转移到Git上来。Git和SVN相比的优点我不必多说,我这里想转移的目的主要是两点:

    1.Xcode集成的Source Control十分强大,从此告别其他的版本管理软件和终端代码,实现全程操作在Xcode中进行,方便、快捷。

    2.之前的临时服务器IP不稳定(其实就是个人Mac搭建),经常需要重新确认IP地址,现在替换到一个稳定的服务器并且实现可远程访问,方便回家撸代码。

在确定以上需求之后,我找到了Gitlab,一个类似Github的版本管理系统。它和Github最主要的区别就是可以创建免费、私密的个人项目,并且安全性可以得到保障。

正文:

首先安利一下Gitlab的地址:https://www.gitlab.com/。

注册登录之类的不多说,直接进入正题。

1. 创建Project

注册登录完毕后,选择左上角菜单->“Projects”,就会提示你创建新项目,因为本文主要目的是介绍初次使用Gitlab,这里选择“new project”。

创建项目

  • 设置Project信息

    如果是从本地上传,“import project from”下面的按钮可以先不选,只输入project name和描述,然后选择可见级别,使用Gitlab应该都是“Private”吧,Public的一般都去Github了。填写完毕点击“Creat project”。

    设置Project信息

  • Project创建完成

    创建完成就进入Project主页了,这时会看到下面有许多终端提示代码,一会会用到。

    Project主页

    2. 设置SSH

  • 点击右上角头像,选择“Settings”

    Settings

  • 进入设置页面,选择“SSH Keys”,这里需要填写SSH Key的公钥。

    屏幕快照 2017-02-28 20.15.36.png

  • 生成SSH Key

    为什么要生成SSH Key? 请参考:什么是SSH?

    如果想和Gitlab服务器正常通信,必须使用SSH Key,服务器端存储SSH公钥,客户端存储SSH私钥。

打开终端,输入以下代码

cd ~/.ssh //定位到ssh文件夹提示`No such file or directory'说明还没有创建ssh文件夹mkdir ~/.ssh //创建ssh文件夹ssh-keygen -t rsa -C "注册Gitlab的email地址" //生成SSH秘钥

注意:这里有一个坑,提示Enter file in which you save the key的时候,是提示要保存的文件,而不是文件夹,如果输入的是文件夹,会报错。系统已经默认文件存为~/.ssh/id_rsa,直接确认即可。

之后提示输入两次passphrase,即设置push密码,可设置,也可省略(如果设置passphrase,每次push代码到服务器时需要密码确认)。

输入完毕后提示创建成果,我们来检查一下:

cd ~/.ssh //定位到ssh文件夹ls -l //查看文件详情cat id_rsa.pub //查看公钥

SSH秘钥生成

查看公钥后,将公钥复制出来(就是那个ssh-rsa开头的一长串乱码,注意包含后面的邮箱地址),填写到刚刚打开的SSH Key设置页面里,并设置一个方便记忆的Title,填写完毕后,点击“Add key”,SSH Key就添加成功了。

屏幕快照 2017-02-28 20.23.37.png

3. 提交Project到Gitlab

  • 为Project添加Git

cd "本地项目的路径" git init //初始化Gitgit remote add origin git@gitlab.com:USERNAME/PROJECTNAME.git //将"USERNAME"和"PROJECTNAME"替换为自己的用户名和项目名git add . //注意add和"."之间的空格git commit -m 'commit description' //提交改动到本地库git push -u origin master //push到Gitlab

注意:git commit -m 'commit description'git push -u origin master命令有两个坑,下面会详细说明。

为Project添加Git

坑No.1

需要注意,输入commit命令后会提示输入commit message,如下图,对终端不熟悉的同学可能要抓狂了,这里需要按s键进入INSERT模式,开始输入commit message,最后按ESC,然后输入:wq退出commit message输入模式

注意:建议commit message第一行输入标题(概要),空一行再输入详细信息。当然,这是建议,如果你觉得无所谓,也可以随意输入或直接:wq跳过。

输入commit message

坑No.2

输入git push -u origin master命令后可以看到提示:

error: src refspec master does not match any.error: failed to push some refs to 'git@gitlab.com:int1987/testProject.git'

这是因为没有项目说明书,所以push失败。

解决方案:

touch README //生成说明文件git add README //添加说明文件到Gitgit commit -m 'commit readme file' //提交改动

可以看到提交成功了

添加README文件

  • Push到Gitlab

    添加README后再重新输入git push -u origin master,push项目到Gitlab,首次push会提示gitlab.com的真实性无法确定,输入yes,确定即可。之后gitlab.com就会被添加到已知服务器(可以在 ~/.ssh文件夹中查看到多了一个known_hosts文件,它就是存储已知服务器的文件)。

Push到Gitlab

Push成功,可以看到改动被提交到master分支。回到Gitlab->Project,可以看到刚刚的提交记录:

Push成功

进入Repository查看,可以看到README文件已经正确提交了。

README正确提交

4. 脱离终端,与Xcode无缝连接

接下来我们来试试脱离终端,直接用Xcode来进行版本控制操作——用Xcode打开testProject,并添加一个方法pushTest

新增pushTest方法

选择Source Control菜单->Commit...,当然也可以用快捷键option + commond + c快速打开commit功能。这就是为什么我抛弃其他版本控制软件——Xcode的快捷键操作十分方便。

Commit

添加commit message后点击Commit 2 Files提交改动,注意这里也可以直接勾选左下角的Push to remote:直接push到Gitlab上,当然push是一个耗时操作,不必每次都push,也可以积攒几次commit后再集中push到远程服务器。

Commit message

Commit完毕,选择Source Control菜单->Push...

Push

弹出的对话框中选择要push的分支,当前是master分支,点击Push按钮。

Master分支

Push需要些时间,这和你的网速和提交的内容大小有关。

Pushing changes

Push成功后,再来Gitlab看一下是否成功,可以看到test push已经被提交。

提交成功

和Github一样,Gitlab也可以直接查看提交的代码片段(高亮显示)。

高亮代码片段

相关推荐

方差分析简介(方差分析通俗理解)

介绍方差分析(ANOVA,AnalysisofVariance)是一种广泛使用的统计方法,用于比较两个或多个组之间的均值。单因素方差分析是方差分析的一种变体,旨在检测三个或更多分类组的均值是否存在...

正如404页面所预示,猴子正成为断网元凶--吧嗒吧嗒真好吃

吧嗒吧嗒,绘图:MakiNaro你可以通过加热、冰冻、水淹、模塑、甚至压溃压力来使网络光缆硬化。但用猴子显然是不行的。光缆那新挤压成型的塑料外皮太尼玛诱人了,无法阻挡一场试吃盛宴的举行。印度政府正...

Python数据可视化:箱线图多种库画法

概念箱线图通过数据的四分位数来展示数据的分布情况。例如:数据的中心位置,数据间的离散程度,是否有异常值等。把数据从小到大进行排列并等分成四份,第一分位数(Q1),第二分位数(Q2)和第三分位数(Q3)...

多组独立(完全随机设计)样本秩和检验的SPSS操作教程及结果解读

作者/风仕在上一期,我们已经讲完了两组独立样本秩和检验的SPSS操作教程及结果解读,这期开始讲多组独立样本秩和检验,我们主要从多组独立样本秩和检验介绍、两组独立样本秩和检验使用条件及案例的SPSS操作...

方差分析 in R语言 and Excel(方差分析r语言例题)

今天来写一篇实际中比较实用的分析方法,方差分析。通过方差分析,我们可以确定组别之间的差异是否超出了由于随机因素引起的差异范围。方差分析分为单因素方差分析和多因素方差分析,这一篇先介绍一下单因素方差分析...

可视化:前端数据可视化插件大盘点 图表/图谱/地图/关系图

前端数据可视化插件大盘点图表/图谱/地图/关系图全有在大数据时代,很多时候我们需要在网页中显示数据统计报表,从而能很直观地了解数据的走向,开发人员很多时候需要使用图表来表现一些数据。随着Web技术的...

matplotlib 必知的 15 个图(matplotlib各种图)

施工专题,我已完成20篇,施工系列几乎覆盖Python完整技术栈,目标只总结实践中最实用的东西,直击问题本质,快速帮助读者们入门和进阶:1我的施工计划2数字专题3字符串专题4列表专题5流程控制专题6编...

R ggplot2常用图表绘制指南(ggplot2绘制折线图)

ggplot2是R语言中强大的数据可视化包,基于“图形语法”(GrammarofGraphics),通过分层方式构建图表。以下是常用图表命令的详细指南,涵盖基本语法、常见图表类型及示例,适合...

Python数据可视化:从Pandas基础到Seaborn高级应用

数据可视化是数据分析中不可或缺的一环,它能帮助我们直观理解数据模式和趋势。本文将全面介绍Python中最常用的三种可视化方法。Pandas内置绘图功能Pandas基于Matplotlib提供了简洁的绘...

Python 数据可视化常用命令备忘录

本文提供了一个全面的Python数据可视化备忘单,适用于探索性数据分析(EDA)。该备忘单涵盖了单变量分析、双变量分析、多变量分析、时间序列分析、文本数据分析、可视化定制以及保存与显示等内容。所...

统计图的种类(统计图的种类及特点图片)

统计图是利用几何图形或具体事物的形象和地图等形式来表现社会经济现象数量特征和数量关系的图形。以下是几种常见的统计图类型及其适用场景:1.条形图(BarChart)条形图是用矩形条的高度或长度来表示...

实测,大模型谁更懂数据可视化?(数据可视化和可视化分析的主要模型)

大家好,我是Ai学习的老章看论文时,经常看到漂亮的图表,很多不知道是用什么工具绘制的,或者很想复刻类似图表。实测,大模型LaTeX公式识别,出乎预料前文,我用Kimi、Qwen-3-235B...

通过AI提示词让Deepseek快速生成各种类型的图表制作

在数据分析和可视化领域,图表是传达信息的重要工具。然而,传统图表制作往往需要专业的软件和一定的技术知识。本文将介绍如何通过AI提示词,利用Deepseek快速生成各种类型的图表,包括柱状图、折线图、饼...

数据可视化:解析箱线图(box plot)

箱线图/盒须图(boxplot)是数据分布的图形表示,由五个摘要组成:最小值、第一四分位数(25th百分位数)、中位数、第三四分位数(75th百分位数)和最大值。箱子代表四分位距(IQR)。IQR是...

[seaborn] seaborn学习笔记1-箱形图Boxplot

1箱形图Boxplot(代码下载)Boxplot可能是最常见的图形类型之一。它能够很好表示数据中的分布规律。箱型图方框的末尾显示了上下四分位数。极线显示最高和最低值,不包括异常值。seaborn中...