git是一个版本号控制系统,能够通过命令行来调用,也有专门的桌面软件。这里主要介绍在Xcode中怎样利用git来进行版本号的控制。

一、创建git源

从Xcode5開始引入了使用git的一些新特性。将git的各项功能整合到一个菜单中,而且提供子菜单来进行软件合并的控制。当用Xcode创建一个project时,会出现一个复选框即如图所看到的:

一般默认情况下是被选上的,假设不想使用git。能够把它取消掉。当创建完项目project后。打开项目project所在的目录。会发现一个.git子目录。这是在创建project时。勾选上上面复选框后Xcode为存储git源相关数据自己主动创建的。

假设看不到.git子目录,可能是文件被隐藏了,能够通过打开终端,输入命令:

defaults write com.apple.finder AppleShowAllFiles TRUE
来显示隐藏的文件;隐藏文件:defaults write com.apple.finder AppleShowAllFiles FALSE

	当刚開始创建project时不勾选上图中复选框时,后面创建完project后能够通过终端命令行来生成git源:
        终端打开project文件:cd  /Users/YOUR-USERNAME/Desktop/NogitDemo ,同一时候在这条命令中设置MAC的username,
    然后输入:git init,初始化一个空的源。这时.git文件夹已经被创建好,
    接下来输入:git add,当前文件夹的全部内容被加入到源里去了。
    最好:git commit -m 'Initial commit',这样git源就创建好了,Soure Control菜单就能够使用了

二、提交更改
   在project中加入代码,这时候会在ViewController.m文件旁边。加入了一个M字母,如:
     
说明那个文件已经被改动,这时候点击Source Control>Commit菜单项,弹出例如以下窗体:

点击Commit 1 File文件就提交成功了,同一时候之前文件右边的M就会消失。
三、分支
    在git中默认都会有一个分支,叫做master。单独的开发人员仅仅在master这个分支开发,这事实上不是一个好习惯。不管你是单打独斗还是组团合作,在对项目作出重大改变或加入重大功能时。使用分支是十分重要的。
    创建一个分支。点击Source Control > GitDemo-master > New Brance…这个菜单,然后会弹出例如以下菜单:

输入分支名newBranch。点击Create就创建好了。
       然后在这个新创建的分支里写入代码,不会影响到原来的Master分支,通过点击Source Control > GitDemo –AnotherBranch > Switch to Branch…菜单项能够进行分支切换。
在分支合并前。在newBranch里写入的代码不会同步到Master分支里去,不会影响之前稳定的版本号。
四、合并分支
     首先,确保master分支是如今的活动分支。假设不是。要改过来:Source Control > GitDemo – AnotherBranch > Switch To Branch… menu,并从展示窗体选择master分支。
     打开Source Control > GitDemo – master > Merge From Branch…菜单,进行分支的合并。当有多个开发者合并时,要注意后面合并时会出现报错情况,那是由于在合并时系统并非那么智能的识别到了须要合并的整个模块。所以合并后可能会出现报错的现象。

这是一个坑呀!

!不知道哪位大神可有挽救的办法。。。
五、忽略更改
       放弃不想要的代码更改功能很实用,当你在开发过程中发现出了大乱子,你想从上一个稳定状态又一次開始时,这个功能就派上用场啦。注意放弃更改这个功能没有回头路,点完之后你就没有办法再撤销这个操作了。
      当你更改代码后,在提交(Commit)之前Discard All Changes和Discard Changes in “ViewController.m”...两个都能够点选,

提交(Commit)之后。Discard Changes in “ViewController.m”...会变成灰色,

Xcode中利用git源代码版本号控制的更多相关文章

  1. eclipse中使用git进行版本号控制

    协作开发的时候没有版本号控制是非常痛苦的事情,使用git能够非常好的完毕这项任务,由于非常多的开源码都在github上公布,因此学会使用git是非常重要的一项技能. 这篇写的是在eclipse下使用的 ...

  2. 在Xcode中使用Git进行源码版本控制

    http://www.cocoachina.com/ios/20140524/8536.html 资讯 论坛 代码 工具 招聘 CVP 外快 博客new 登录| 注册   iOS开发 Swift Ap ...

  3. 【转】在Xcode中使用Git进行源码版本控制 -- 不错

    原文网址:http://www.cocoachina.com/ios/20140524/8536.html 本文翻译自Understanding Git Source Control in Xcode ...

  4. Qt中利用QTime类来控制时间,这里简单介绍一下QTime的成员函数的用法:

    Qt中利用QTime类来控制时间,这里简单介绍一下QTime的成员函数的用法: ------------------------------------------------------------ ...

  5. AndroidStudio中利用git下载github或者git.oschina的代码时报错:repository test has failed解决方法

    作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 微博:http://weibo.com/mcxiaobing AndroidS ...

  6. 在VS项目中通过GIT生成版本号作为编译版本号

    上一篇博客写了如何在 .Net 项目使用 SVN 作为版本控制工具时生成与代码对应的组件版本号.虽然在公司一直使用 SVN ,但我却对 GIT 情有独钟(可能要归功于那段捣鼓 ROM 的时光),但少有 ...

  7. Git(一):Git与版本号控制简单介绍

    Intro 版本号控制系统是什么      版本号控制系统(Version Control System,VCS)能够帮助我们记录和跟踪项目中各文件内容的改动变化.它能够帮我们保存项目的各个版本号.以 ...

  8. [翻译] USING GIT IN XCODE [5] 在XCODE中使用GIT[5]

    USING GIT IN XCODE USING BRANCHES Branches can be a very effective tool to isolate new features or e ...

  9. [翻译] USING GIT IN XCODE [1] 在XCODE中使用GIT[1]

    USING GIT IN XCODE http://www.cimgf.com/2013/12/10/using-git-in-xcode/ Git has become a very popular ...

随机推荐

  1. Erlang学习记录(三)——表达式大集合

    Erlang中的表达式必须以.结束才会去执行.如果不加.你在编译环境下按多少次Enter,表达式都不会执行,表达式之间可以用,分隔,以.结尾后所有的表达式都会执行,但是只有最后一个以.结尾的表达式会在 ...

  2. 【Data URL】【RE】【bugku】逆向入门writeup

    在写wp之前先来了解一下Data URL是什么 Data URL 在浏览器向服务端发送请求来引用资源时,一般浏览器都有同一时间并发请求数不超过4个的限制.所以如果一个网页需要引用大量的服务端资源,就会 ...

  3. 使用 Google Code Prettify 实现代码高亮

    今天这篇文章主要讲述使用 google-code-prettify 来实现代码的高亮显示,以前我使用 highlight.js 来实现文章中代码的高亮显示. prettify 非常小巧且配置简单,使用 ...

  4. AppCan入门教程

    主干 主干可以认为是整个页面的整体框架布局 上图是截取与ZAKER(原生开发).正益无线(HTML5开发).ZAKER微博界面(原生开发)和HTML5中国(HTML5开发).参考上述界面我们看到大部分 ...

  5. The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path:

    今天下载Windows安装版的tomcat5.5,安装完以后启动时候出现: The Apache Tomcat Native library which allows optimal performa ...

  6. JQuery when

    jQuery.when(deferreds) 参数deferreds,一个或多个延时对象或JS对象,我们初略的认为它就是一个或多个异步请求. 例如: $.when($.ajax("page1 ...

  7. axios踩坑记录+拦截器使用+vue cli代理跨域proxy+webpack打包部署到服务器

    1.小小的提一下vue cli脚手架前端调后端数据接口时候的本地代理跨域问题,如我在本地localhost访问接口http://40.00.100.100:3002/是要跨域的,相当于浏览器设置了一道 ...

  8. maven工程小红叉处理方法

    搞了个Maven工程在Eclipse上,刚开始说JDK版本不对,编译的时候老报错误,很容易搞明白, 本地JDK版本为1.7.0_79: diamond operator is not supporte ...

  9. Leetcode--easy系列5

    #83 Remove Duplicates from Sorted List Given a sorted linked list, delete all duplicates such that e ...

  10. js 倒计时跳转页面

    <script type="text/javascript">var i = 5; var intervalid; intervalid = setInterval(& ...