iOS-在Xcode中使用Git进行源码版本控制(二:提交更改)



提交更改(Committing Changes)
提交更改指的是储存一个包含所有更改的新版本。一般来说,当我们做了一些有意义的工作,并且项目处于某一个稳定状态时,就可以提交一次更改。然而具体什么时候提交更改并没有硬性的规定。我的建议是:从上次提交更改之后,如果你怕花费大量时间和精力做的新工作被误删很难恢复,你就需要提交更改了。

默认情况下,Xcode在项目创建之初会提交一次更改,这是为了保存项目初始状态。这项工作会在后台完成,不会打扰你或者要求你进行确认。如果你在项目创建时没有添加git源,但是之后你手动添加了,你可以通过我们先前使用过的命令来进行提交:git commit -m ‘Initial commit’


实际上,你如果去Source Control>History…菜单,你就会看到初次提交更改的记录,以后每次提交更改,都会在这里有所记录。


接下来让我们小幅修改一下我们的工程,在ViewController.m文件中,添加以下属性声明:

 
 
  1. @interface ViewController ()  
  2.  
  3. @property (nonatomic) int sum;  
  4.  
  5. @end  

接下来,像下面这样修改viewDidLoad方法:

 
 
  1. - (void)didReceiveMemoryWarning  
  2. {  
  3.     [super didReceiveMemoryWarning];  
  4.     // Dispose of any resources that can be recreated.  
  5.  
  6.     int a = 5;  
  7.     int b = 10;  
  8.  
  9.     self.sum = a + b;  
  10.  
  11.     NSLog("The result is: %d", self.sum);  
  12. }  

看一下Project navigator面板,你会发现在ViewController.m文件旁边,添加了一个M字母,像下面这样:


这意味着那个文件已经被修改,相比上一次提交更改,文件有所改变。一般来说,你每次改变文件,都会出现这个M字母,提醒你有未提交的更改。

 

下面看看如何提交更改,其实非常简单,只需要打开Source Control>Commit菜单,下面窗口就会出现:


让我们一步步看看它告诉我们了什么。在左边(标1的区域),列出了所有被更改的文件,在这个例子中,只有ViewController.m这个文件被改变,因此列表中只有它被显示。如果你仔细观察,你会发现文件左边有一个选择框,默认情况下是被选中的,如果你取消它,这个文件的更改就不会被提交。

 

在窗口的中间区域,有两个预览窗口,左边那个是文件当前版本,右边是文件上一次提交更改的版本。因为我们目前只是创建时提交过一次更改,因此右边显示的是文件的初始状态。


左边窗口蓝色区域标出的就是更改的内容,这样的表示让我们可以清楚地看出所有的修改。如果你仔细看,会发现在两个窗口之间还有一个带数字的小标签,这个数字一一表示了各项更改。在数字旁边,默认情况下有一个小对勾,表示本更改会被提交,如果你点击右边的小箭头,会弹出一个选项菜单,你可以选择不提交这个更改或是忽略它。


 

如果你选择了Don’t Commit这个选项,小对勾就会被一个停止标志取代,这项更改就不会被保存到源中。

 

 

如果你选择了Discard Change这个选项,会弹出一个确认窗口,提示你所做的更改会被恢复,并且无法取消这个操作。


如果你点击了OK按钮,所选区域的改变就会消失,就像他们从未出现过一样。

 

如果你仔细观察上面这个提交窗口,你会看到你所做的所有修改都会被Xcode看做改变,即使是一个空行。实际上空行相当于回车,在屏幕上是不可见的,因此作为改变也是理所当然的。

 

在本例子中,你不用忽略任何修改,而是允许提交所有更改,因此所有的改变标签旁边必须都是小对勾。

 

在两个窗口下面是一个空白的区域,中间显示了提交更改的信息。这个地方可以添加一些关于此次更改的简短描述,点击它,加入如下内容:


书写有意义的提交信息非常有用,尤其是当你频繁提交的时候。因此,把它当做一个必要的步骤。

 

现在这个窗口的基本信息看的差不多了,是时候做我们第一次的提交了。在这个窗口的右下脚,有一个按钮上面写着:Commit 1 file。


这个按钮会显示需要提交的文件总数。点击它之后你的第一次提交就完成了!打开Source control > History,你会发现它会被显示在列表中。


从上图中可以看出,我们编写的信息以及更改的文件数量会被显示出来。Xcode执行初始提交,所有文件都会被提交一下,而这次只有我们修改的那个文件被提交。


另外,关闭历史窗口,看一下Project Navigator,你会发现ViewController.m旁边的M符号已经消失了。


现在,让我们准备下一次提交。这次,我们给工程添加一些新的文件。添加文件最好的方式就是创建个新类,因此,按下Command+N组合键,添加一个Objective-C类。让这个类继承NSObject类,取名叫TestClass,然后添加到工程中。


完成之后,注意一下Project Navigator,你会发现两个新的类文件旁边有个A的字母标识,这意味着这些文件已经被添加到项目中,当然,他们还没有被提交。


打开ViewController.h文件,导入我们的新类:

 
 
  1. #import "TestClass.h"  

下一步,打开ViewController.m文件,像下面一样声明一个私有属性:

 
 
  1. @interface ViewController ()  
  2.  
  3. @property (nonatomic) int sum;  
  4.  
  5. @property (nonatomic, strong) TestClass *testClass;  
  6.  
  7. @end  

看一下项目导航栏,这次有四个文件有待提交。让我们打开Source Control > Commit菜单,将它们提交。


需要提交的一共有5个文件。除了之前修改的四个之外,还有一个项目配置文件。Xcode会在新类被添加到项目中之后自动修改这个文件。如果你你打开TestClass.h或TestClass.m文件,左边的窗口没有任何显示,如下图所示。


这是因为在这个文件在之前没有被提交的记录,因此没有一个可以比较的版本,在右边只显示了File was added。


在消息区写上这样一个描述:TestClass was added to project.. 之后点击Commit 5 files按钮即可。


这样第二次手动提交就成功了。你可以到Source Control > History 菜单查看提交的记录。



  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值