在Xcode中使用Git源代码管理

Git允许您将版本控制嵌入到项目中。通过遍历提交,您可以跟踪所做的应用程序版本以及在这些提交中所做的更改。

提交到存储库时,可以使用命令行。但这有点棘手。因此,您可以使用GUI进行相同的操作。没问题。

先决条件:

  • 对Git命令有一些基本了解

术语

Commit-概念上类似于当前项目的保存或快照。您设置了一条有关已执行的更改的消息,并保存了代码的修订版,您可以单击一次随时将其还原。提交使您可以随时回到项目的此(命名)状态。

Git:Git是一个分布式版本控制系统,用于在软件开发过程中跟踪源代码的更改。

Index - 这是您要提交到git存储库的文件放置位置。也称为暂存区。

Repositories - Repositories 是一个文件位置,您可以在其中存储当前项目的所有相关文件。本地存储库位于系统上,远程Repositories (通常)位于远程计算机上。代码项目可以包含多个帐户中的多个存储库,但通常是单个帐户中的存储库。建议将存储库(也称为存储库)保持在1GB以下。

Working Directory - 文件系统中与存储库关联的目录。


Step-by-step

创建一个新的应用程序

创建一个新的Single View App。

确保已选中“ 在我的Mac上创建Git”存储库复选框(如果未选中,则可以稍后通过Xcode中的“源代码控制”菜单添加)。

查看源代码管理导航器

源代码管理导航器在屏幕的左侧:

在这种情况下,我已经扩展了文件夹,以便可以看到当前的分支。


更改文件

您可以对文件进行任何更改。我对ViewController.swift进行了一些更改,并多次执行了提交过程(如下所述),以创建多个提交。任何更改都会生效,打印命令或注释或实际工作(无论您选择什么)。

提交文件

您可以从Xcode屏幕顶部的源代码控制菜单中选择提交:

我的选择文件已在屏幕左侧修改,您可以看到对代码进行了哪些更改。

您甚至可以在屏幕左侧更改代码(如果进行更改,该代码将被带入该文件的主编辑器中,因此即使您按取消,也不会丢失任何工作)。

Choosing individual changes

可以通过选择屏幕中间的数字来进行更改

然后,您可以为每个选项选择放弃更改,或者

放弃更改也会在源文件中进行更改,因此应格外小心。

Branches

通常,您将在dev分支上工作,而在master分支上留下了您的App不断发布的版本。

Xcode屏幕左窗格中的Source Control导航器使我们可以创建新分支。右键单击提供菜单

然后我们可以从“ master”分支创建功能分支

此功能分支将自动成为当前分支,如Source Control导航器中所示

在任何时候,我们都可以通过右键单击切换分支,然后签出您要使用的分支。请注意,无论何时提交,都将提交到当前分支。

同样,您可以放弃更改(返回到先前的提交)

查看提交

要查看您的提交,您可以单击您的分支。现在,如果您已经进行了一些先前的提交,您将在屏幕中央看到它们。

右键单击其中任何一个,您都可以签出该特定的提交。

查看提交之间的差异

要查看提交之间的差异,请在文件检查器中选择您选择的文件(在我的情况下,我对ViewController进行了更改)。

现在选择菜单项:视图>版本编辑器>显示比较视图

在屏幕底部,您可以选择要选择的两个文件中的哪个

您可以单击时钟按钮,然后选择要与之比较的提交。这是查看已进行更改的好方法!

还有其他选择。您可以通过“视图”>“版本编辑器”菜单项查看日志,作者视图(向您显示更改的地方)或我们已经浏览过的比较视图。替代方法是在比较视图中选择选项(在比较视图中,屏幕右上角的箭头)。

如果继续使用比较视图,我们可以看到可以回滚到该提交中的特定更改-通过选择屏幕中间的数字并选择放弃更改。


当然,如果您进行更改,则需要提交这些更改(这将更新您的更改记录,以便团队中的每个人都可以看到您所做的更改)。

合并分支

这只有在有遥控器时才有意义。这里的想法是即使您同时也在与其他人一起处理文件。


创建repository

在github.com的右上角(假设您有一个帐户:如果没有,请先创建,然后继续阅读本指南)

创建一个名称为XcodeRepo的repository:

创建此repository:

将现有repository推送到远程存储库

我们需要复制github存储库的位置。它显示在屏幕中央

我的地址是(您的地址会有所不同!):

https://github.com/stevencurtis/XcodeRepo.git

您可以右键单击“ Remotes”文件夹并添加现有的遥控器

然后可以将遥控器添加到对话框中-但请记住,您的位置将与我的不同!点击添加...

然后转到Source Control> Push…

然后,您可以选择推送到功能分支。这将具有在远程存储库上创建功能分支的作用。

刷新Web浏览器存储库,您可以看到features分支已更新。

更改远程repository

然后,您可以在浏览器中遍历到ViewController。然后,我们将通过选择笔图标进行更改。

并且在View中确实加载了新行的更改。我选择打印“这是新行”

然后使用屏幕底部的按钮提交更改。这些可以直接提交到功能分支。

更改Xcode源代码

移到Xcode的ViewController中相同的viewDidLoad函数。

我们将输入一个新行,但打印不同的内容。

现在,我们可以通过“源代码”控制菜单来提交此更改。我称我的提交为我做。

现在,当我们尝试推送到远程服务器时,我们被告知我们的本地repository 已过时。

所以我们就这样做,并通过Source Contro> Pull

Xcode提供了我们之前进行提交时所看到的选项。但是,我们需要选择是使用左侧(本地更改)还是右侧(远程更改)。

我将选择远端(右侧)。

然后,拉动按钮变为,进行更改。


结论:总结变更

然后,您需要提交合并更改,然后将其推送到远程。(尽管在这种情况下,我是从远程进行更改的,所以没有任何可推送的内容。在Xcode中,您不会收到任何消息,因此,以防万一,习惯这样做是一种很好的做法)。


更多信息

这是其中一些功能宣布时的WWDC演示
https://developer.apple.com/videos/play/wwdc2017/405/

翻译自:https://medium.com/@stevenpcurtis.sc/using-git-source-control-with-xcode-227b4dfe5eb7

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,386评论 6 479
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,939评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,851评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,953评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,971评论 5 369
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,784评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,126评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,765评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,148评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,744评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,858评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,479评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,080评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,053评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,278评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,245评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,590评论 2 343

推荐阅读更多精彩内容