Xcode中利用git源代码版本号控制
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源代码版本号控制的更多相关文章
- eclipse中使用git进行版本号控制
协作开发的时候没有版本号控制是非常痛苦的事情,使用git能够非常好的完毕这项任务,由于非常多的开源码都在github上公布,因此学会使用git是非常重要的一项技能. 这篇写的是在eclipse下使用的 ...
- 在Xcode中使用Git进行源码版本控制
http://www.cocoachina.com/ios/20140524/8536.html 资讯 论坛 代码 工具 招聘 CVP 外快 博客new 登录| 注册 iOS开发 Swift Ap ...
- 【转】在Xcode中使用Git进行源码版本控制 -- 不错
原文网址:http://www.cocoachina.com/ios/20140524/8536.html 本文翻译自Understanding Git Source Control in Xcode ...
- Qt中利用QTime类来控制时间,这里简单介绍一下QTime的成员函数的用法:
Qt中利用QTime类来控制时间,这里简单介绍一下QTime的成员函数的用法: ------------------------------------------------------------ ...
- AndroidStudio中利用git下载github或者git.oschina的代码时报错:repository test has failed解决方法
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 微博:http://weibo.com/mcxiaobing AndroidS ...
- 在VS项目中通过GIT生成版本号作为编译版本号
上一篇博客写了如何在 .Net 项目使用 SVN 作为版本控制工具时生成与代码对应的组件版本号.虽然在公司一直使用 SVN ,但我却对 GIT 情有独钟(可能要归功于那段捣鼓 ROM 的时光),但少有 ...
- Git(一):Git与版本号控制简单介绍
Intro 版本号控制系统是什么 版本号控制系统(Version Control System,VCS)能够帮助我们记录和跟踪项目中各文件内容的改动变化.它能够帮我们保存项目的各个版本号.以 ...
- [翻译] 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 ...
- [翻译] 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 ...
随机推荐
- Java如何进行异常处理
关键字:throws.throw.try.catch.finally的用法 Java通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口.在Java中,每个异常都是一个对象,它 ...
- Generator函数(一)
Generator函数是ES6提供的一种异步编程解决方案,语法行为与传统函数完全不同.对于这个函数有多种理解.从语法上来理解,可以将它理解成一个状态机,封装了多个内部状态.内部的不同状态是通过yiel ...
- 搭建MySQL的主从、半同步、主主复制架构
复制其最终目的是让一台服务器的数据和另外的服务器的数据保持同步,已达到数据冗余或者服务的负载均衡.一台主服务器可以连接多台从服务器,并且从服务器也可以反过来作为主服务器.主从服务器可以位于不同的网络拓 ...
- java中关于volatile的理解疑问?
作者:xyzZ链接:https://www.zhihu.com/question/49656589/answer/117826278来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请 ...
- [Android Memory] Android系统中查看某个应用当前流量的方法
转载自: http://blog.sina.com.cn/s/blog_628cc2b70101dbyy.html 一.查看原理:某个应用的网络流量数据保存在系统的/proc/uid_stat/$UI ...
- iOS:图片上传时两种图片压缩方式的比较
上传图片不全面的想法:把图片保存到本地,然后把图片的路径上传到服务器,最后又由服务器把路径返回,这种方式不具有扩展性,如果用户换了手机,那么新手机的沙盒中就没有服务器返回的图片路径了,此时就无法获取之 ...
- MySql Replication基本原理
Replication的思想是将数据在集群的多个节点同步.备份,以提高集群数据的可用性(HA):Mysql使用Replication架构来实现上述目的,同时可以提升了集群整体的并发能力.5.6版本作为 ...
- tomcat下配置https环境(windows环境)
在网上搜了一下,内容不是很完善.现进行整理,做个学习笔记,以备以后使用. (1)进入到jdk下的bin目录 (2)输入如下指令“keytool -v -genkey -alias tomcat -ke ...
- decorator在Python中的作用
decorator(装饰器)在python中作用,可以起到代码复用,也可以起到AOP(面向横切面)的作用. 另外很重要的一点应该就是function在python的世界中是作为一等公民存在的. 在py ...
- [Algorithm] Fibonacci problem by using Dynamic programming
vThere are three ways to solve Fibonacci problem Recursion Memoize Bottom-up 'First Recursion approa ...