iOS中git使用详解及个人心得

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Boyqicheng/article/details/73277612

网上搜索到太多技术博客文章,大多是使用命令语句来完成,个人对命令语句的使用不是很喜欢,然后自己就胆大的鞋里这篇博客吐舌头

git简介:git工具可以本地管理开发APP版本(使用的时候只需要切换到相应的分支即可 Switch to Branch),以及把源代码提交github等后台服务器(需要时Check Out...)。

注意:如果使用分支开发时,最后打包的时候需要合并所有的分支到主干分支(master),具体操作后面讲解。


废话不多说,下面开启git版本控制装逼模式------------------------------

1,创建.git文件

先看看自己的工程有没有创建.git文件,有的时候是隐藏的,如果不确信的话,打开终端执行下面两条语句:

① 显示所有的文件(意思就是把隐藏的文件显示出来,下面的ture改为flase,效果是相反的,git文件将被隐藏)

defaults write com.apple.Finder AppleShowAllFiles true
② 重启Finder应用(可以理解成刷新Finder,不管是显示还是隐藏操作这句必须执行,否则你是看不到效果的)

killall Finder
最后Finder重启后你的工程文件夹下多了一个这样的文件:


如果文件不存在(说明工程在创建的时候未勾选  Create Git repository on),则可以通过Xcode工具栏"Source Control"-->Create Working Copy...创建.git。Source Control 下的工具菜单在未激活或没有.git文件时如下图:



文件存在,则说明创建工程的时候选择了Create Git repository on,如下图所示:




现在我们先看看Source Control 菜单栏是这样的了:



2,提交更新

开始编辑文件 ViewController.h 和ViewController.m中的内容:

在.h中定义一个属性

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController
@property(nonatomic,copy) NSString *textStr;

@end

.m中实现如下方法

- (void)setTextStr:(NSString *)textStr
{
    if (textStr)
    {
        _textStr = textStr;
    }
}

下面看看左边的文件对应的右边,多了 M 标记:


如果想提交现在的更改,可以直接 option+command+c 提交更改内容到git,也可以菜单栏Source Control -->Commit...,接着进入如下页面:


右下角按钮 [Commit * Files]提交。很棒现在你已经提交更改了,看看上面提到的 M 标记,是不是没了。

3,创建分支

先看看Source Control 下当前分支是 master

创建一个分支 firstBranch:


创建新的分支后,默认当前分支就是新建的分支:

没有修改内容前,M标记是不存在的,现在编辑当前分支下的文件,只在.m中实现一个控件,imgView

现在.m文件内容如下:

#import "ViewController.h"

@interface ViewController ()
@property(nonatomic,strong)UIImageView *imgView;
@end

@implementation ViewController
- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    [self.view addSubview:self.imgView];
}
- (UIImageView *)imgView
{
    if (!_imgView)
    {
        _imgView = [[UIImageView alloc]initWithFrame:self.view.bounds];
        _imgView.backgroundColor = [UIColor purpleColor];
    }
    return _imgView;
}
- (void)setTextStr:(NSString *)textStr
{
    if (textStr)
    {
        _textStr = textStr;
    }
}
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
@end

可以看到标记M又出现了。现在我们提交frstBranch这个分支的修改(实质在master分支的内容没变)。

4,分支切换

在切换之前确保你当前的编辑已经全部提交更改的,否则不能却换,提示如下:


开始切换分支:




开始到下面页面时,Switch按钮是不可选的,选择非(current)分支才能切换。


点击Switch后,切换到master分支,自己可以在Source Control  -->下查看

却换过来后进入.m文件看看里面的内容,你会发现缺少在分支 firstBranch中添加的内容(没有imgView等),这就对啦~。下面来看看到底哪些内容之间的差异:View --> Version Editor  --> Show Version Editor。页面最低端可以看到两个代码窗口,左边的是当前分支代码,右边可以选择分支和分支提交的时间段(一般最上面一个是最新提交的):



下图中1处中小数字个人理解成版本区别的不同地方的条数,2处可以点击Discard Change 放弃修改(实质是把右边firstBranch分支的内容添加到master分支中,自己可以试试)


最后找到Xcode右边菜单回到编辑文件模式:


5,合并分支

小插曲 ——————可以查看每次提交的记录:Source Control  -->History...


Show modified files 可以查看更改详情:下图中区域1是文件、2是具体代码部分、3修改提交时间、4提交修改备注。



合并分支之前需要当前在master分支,且该分支的修改保持所以得更改已提交:Source Control  -->分支菜单-->Merge from Branch:


选择分支:Merge继续


到下面页面,左边视图是合并后的效果图,右边是firstBranch内容。左右视图可以在 标注处选择所在的分支进行对比。

截图中的是个按钮,第一个大概是把新增内容往下插入,最右边一个则是向上插入。第二个是左边分支不进行内容的添加。第三个是进行内容添加。这里的功能主要是开发者可以选择对应的地方进行合并。灵活性比较强。默认选择的话是全部合并。


合并后到master分支的.m文件中可以看到多了内容,很神奇吧!!!。对这就是从firstBranch分支中合并来的。

新增内容了,自然多了 M 标签。然而你已经知道该进行下一步操作了吧。就这样,本地git版本控制已经告一段落了。

猜你喜欢

转载自blog.csdn.net/Boyqicheng/article/details/73277612