我在之前多篇博客中解说了怎样使用命令行操作git,能够大大提高我们的工作效率。详细能够參考《Git学习札记》《Git学习札记——进阶》等文章。事实上对于同一个工具,我们有不同的用法。今天我们就来学习怎样使用Xcode中自带的Git。使用起来也是更为方便。

同一时候对于一个Xcode中常见的问题进行解决。

当我们在Xcode创建一个项目的时候。能够勾选Source Control:Create Git repository on 选项。表示能够把该项目作为Git仓库。

可是创建项目成功后。会出现例如以下警告:

上述问题表示对于该项目。Git并没有配置完。还不能进行各种Git操作。解决方式例如以下:以下我都使用命令行操作(较为方便)。

(1)进入项目根文件夹。里面有一个.git的隐藏文件,使用  ls -a  命令能够看到:

.

(2)进入.git文件。里面能够看到有一个config文件,使用Mac自带的vim编辑config文件。

config文件也就是git的配置文件。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />.

(3)编辑config文件,在最后加入例如以下内容:

[user]
name = chenyufeng
email = 这里填入你的邮箱

name中能够填入gitusername,email填入你的邮箱,假设你须要提交代码到Github的话。最好填入你github的账户邮箱。

最后保存退出就可以。

怎样在vim中保存退出?

敲esc键-->打出:冒号-->分别敲w  q-->敲回车  。就能够保存退出了。

(4)对于please tell me who you are,这个警告,我们配置完上述步骤后就能够了。眼下临时没有其它解决方式,对于每个项目都须要这样做。当然,假设你不想用Xcode自带的git。也就不用理会这个警告了。

以下就来介绍下Xcode中Git的可视化操作。

Xcode中的Source Control菜单下就是Git的全部操作,基本能够满足我们大部分的Git需求:

【1】如图能够看到我们能够新建分支、切换分支、合并分支、配置等操作。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />。

在Configuration配置中,能够查看我们的远程仓库,分支情况等。也能够可视化进行配置加入。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />。

【2】第二个选项Check Out,也就是检出代码。相当于从远程仓库clone代码。

【3】Commit就是提交代码,可视化的显示出你改动的部分和上一个版本号的改动情况。

【4】以下的Push就是向远程仓库提交代码,你能够选择你要提交的分支:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />。

【5】以下的Pull就是从远程仓库拉代替码,pull的时候也能够选取分支。

个人建议在Push之前首先进行Pull,假设有冲突能够在本地进行解决,不要让自己的代码“污染”远程仓库。

。。

【6】Discard All Changes就是让代码的全部的当前改动都消失,回到上次commit时的状态。

当然,这个操作是须要慎重的。

【7】最后的History能够看到全部的提交记录。

【8】Xcode右上角的第三个button能够显示版本号控制编辑器。能够高速的查看你当前代码和前面不论什么一个版本号的差异。

总结,Xcode中的Git操作基本就如上所述,应该说还是很方便的,其它的使用细节还须要在实际开发中不断的学习和尝试。

可是Xcode自带Git仅仅是命令行Git功能的一个子集,个人建议入手Git还是从命令行開始。

眼下开发我是结合两者使用的,取长补短。

Xcode中git的用法介绍与"Please tell me who you are"问题的解决方式的更多相关文章

  1. Xcode 中 Git 的配置与使用

    Xcode 中 Git 的配置与使用主要围绕下面几个问题展开阐述: 问题1,如何在Xcode中创建本地代码库,并添加和提交代码到本地代码库? 问题2,如何在Xcode中提交推送给远程服务器代码库? 问 ...

  2. java中random()函数用法介绍

    Random() 创建一个新的随机数生成器.  代码如下 复制代码 Random(long seed) 使用单个 long 种子创建一个新的随机数生成器. 我们可以在构造Random对象的时候指定种子 ...

  3. git常见用法介绍

    1. git help:帮助 git help xxx git xxx --help 2. git init:初始化 git init 3. git config:配置 常见用法 git config ...

  4. Xcode中的约束用法

    这篇文章用几个简单的例子来介绍XCode6.1故事板中约束的使用方法.   现在iOS设备屏幕的尺寸也有很多种了,尤其是有了iPhone6 Plus以后,再不关注界面的尺寸适配就有点说不过去了.   ...

  5. visual studio 中GIT的用法

    http://msdn.microsoft.com/zh-cn/library/vstudio/hh850445    Git 使用最新版:Git-1.8.4-preview20130916http: ...

  6. mysql中exists的用法介绍

    SELECT c.CustomerId, CompanyName   2 FROM Customers c   3 WHERE EXISTS(   4     SELECT OrderID FROM  ...

  7. js中getBoundingClientRect()的用法介绍

    平时经常获取一个div的位置,用了定位,取位置还好,在不用定位的情况下,计算一个div在页面的距离,就可以用到getBoundingClientRect()方法. getBoundingClientR ...

  8. xcode中一些便捷用法@literals简写

    总结一下,新的属性绑定规则如下: ●  除非开发者在实现文件中提供getter或setter,否则将自动生成 ● 除非开发者同时提供getter和setter,否则将自动生成实例变量 ●  只要写了s ...

  9. shell中IF的用法介绍

    一.语法结构 if [ condition ] then      statements  [elif condition      then statements. ..]  [else       ...

随机推荐

  1. C/C++ 函数模板、全局变量、register、存储周期

    1.函数声明时可以简写,如: int max(int,int): 2.函数模板: 格式: template <typename haha>或template <class haha& ...

  2. Cygwin, MinGW/MSYS, MinGW-W64/MSYS2

    1. Cygwin http://www.cygwin.com/ Cygwin is a large collection of GNU and Open Source tools which pro ...

  3. (转)hibernate-5.0.7+struts-2.3.24+spring-4.2.4三大框架整合

    http://blog.csdn.net/yerenyuan_pku/article/details/70040220 SSH框架整合思想 三大框架应用在JavaEE三层结构,每一层都用到了不同的框架 ...

  4. idea关闭,tomcat却没关闭的设置方法

    最近,遇到个事,我在打开tomcat时,关闭了idea,再次打开时,运行tomcat时,发现端口占用,查看任务管理器,发现,tomcat没有随idea的关闭而关闭. 后来,想想,可能是,在关闭时,点了 ...

  5. 德尔福 XE5 安卓调试

    https://stackoverflow.com/questions/2604727/how-can-i-connect-to-android-with-adb-over-tcp?page=2&am ...

  6. python 列表生成式、lower()和upper()的使用

    参考: http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/0013868196389 ...

  7. 大项目之网上书城(七)——书页面以及加入购物车Servlet

    目录 大项目之网上书城(七)--书页面以及加入购物车Servlet 主要改动 1.shu.jsp 代码 效果图 2.shu.js 代码 3.index.jsp 代码 效果图 4.FindBookByC ...

  8. 装饰器(python)

    一,装饰器定义:本质就是函数,功能是为其他函数添加新功能原则:1.不修改被装饰函数的源代码(开放封闭原则)2.为被装饰函数添加新功能后,不修改被修饰函数的调用方式3.装饰器=高阶函数+函数嵌套+闭包高 ...

  9. ajax中文乱码解决(java)

    方法1: 页面端发出的数据做一次encodeURI,服务器端使用new String(old.getBytes("iso8859-1"), "utf-8") 方 ...

  10. time | sys | os 模块,递归删除文件,项目分析

    一,复习 ''' 1.跨文件夹导包 - 不用考虑包的情况下直接导入文件夹(包)下的具体模块 2.__name__: py自执行 '__main__' | py被导入执行 '模块名' 3.包:一系列模块 ...