博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Xcode中利用git源代码版本号控制
阅读量:5883 次
发布时间:2019-06-19

本文共 1813 字,大约阅读时间需要 6 分钟。

       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”...会变成灰色,
 

      

你可能感兴趣的文章
SWT/JFACE之环境配置(一)
查看>>
应用程序日志中总是说MS DTC无法正确处理DC 升级/降级事件,是什么意思
查看>>
mybatis数据处理的几种方式
查看>>
作业2
查看>>
raid技术-研究感受
查看>>
远程主机探测技术FAQ集 - 扫描篇
查看>>
C++中调用python函数
查看>>
Nomad添加acl认证
查看>>
“TI门外汉”网路知识笔记一 OSI参考模型
查看>>
你不需要jQuery(五)
查看>>
DatanodeDescriptor说明
查看>>
ServlertContext
查看>>
eclipse编辑器生命周期事件监听
查看>>
Python WOL/WakeOnLan/网络唤醒数据包发送工具
查看>>
sizeof(long)
查看>>
pxe网络启动和GHOST网克
查看>>
2.5-saltstack配置apache
查看>>
django数据库中的时间格式与页面渲染出来的时间格式不一致的处理
查看>>
Python学习笔记
查看>>
java String
查看>>