iOS开发那些事-Git在Xcode中的配置与使用

来源:互联网 发布:mac双系统win10激活 编辑:程序博客网 时间:2024/05/07 22:07

很多Git命令都是在命令行下运行的,命令行下管理Git有很多优点不用多说。但最大的缺点是要求用户记住这些命令。因此Git图形界面还是很受一些用户欢迎的,其中Xcode作为集成开发环境工具,也提供了一定Git图形界面功能。但是要想在Xcode中使用Git管理工程代码还想需要进行一些配置,然后才能使用。

如果我们是使用Xcode 4创建的一个iOS工程,在终端的命令行中提交代码时候,可能会出现下面的部分信息:

[cpp] view plain copy
 print?
  1. create mode 100644 HelloWorld/HelloWorld.xcodeproj/project.xcworkspace/contents.xcworkspacedata  
  2.   
  3. create mode 100644 HelloWorld/HelloWorld.xcodeproj/project.xcworkspace/xcuserdata/tonyguan.xcuserdatad/UserInterfaceState.xcuserstate  
  4.   
  5. create mode 100644 HelloWorld/HelloWorld.xcodeproj/xcuserdata/tonyguan.xcuserdatad/xcschemes/HelloWorld.xcscheme  
  6.   
  7. create mode 100644 HelloWorld/HelloWorld.xcodeproj/xcuserdata/tonyguan.xcuserdatad/xcschemes/xcschememanagement.plist  
  8.   
  9. rewrite HelloWorld.xcodeproj/project.xcworkspace/xcuserdata/tonyguan.xcuserdatad/UserInterfaceState.xcuserstate (83%)  


事实上是能够列入到代码版本控制的文件是有规定的,不能是编写的二进制文件、临时文件和用户特有的文件等。下面是Xcode 4创建的HelloWorld工程的目录结果:

HelloWorld

[cpp] view plain copy
 print?
  1. ├── HelloWorld  
  2.   
  3. │   ├── AppDelegate.h  
  4.   
  5. │   ├── AppDelegate.m  
  6.   
  7. │   ├── HelloWorld-Info.plist  
  8.   
  9. │   ├── HelloWorld-Prefix.pch  
  10.   
  11. │   ├── ViewController.h  
  12.   
  13. │   ├── ViewController.m  
  14.   
  15. │   ├── en.lproj  
  16.   
  17. │   │   ├── InfoPlist.strings  
  18.   
  19. │   │   └── ViewController.xib  
  20.   
  21. │   └── main.m  
  22.   
  23. └── HelloWorld.xcodeproj  
  24.   
  25. ├── project.pbxproj  
  26.   
  27. ├── project.xcworkspace  
  28.   
  29. │   ├── contents.xcworkspacedata  
  30.   
  31. │   └── xcuserdata  
  32.   
  33. │       └── tonyguan.xcuserdatad  
  34.   
  35. │           └── UserInterfaceState.xcuserstate  
  36.   
  37. └── xcuserdata  
  38.   
  39. └── tonyguan.xcuserdatad  
  40.   
  41. ├── xcdebugger  
  42.   
  43. │   └── Breakpoints.xcbkptlist  
  44.   
  45. └── xcschemes  
  46.   
  47. ├── HelloWorld.xcscheme  
  48.   
  49. └── xcschememanagement.plist  


其中HelloWorld.xcodeproj属于包文件,它内部的很多东西是不能提交的,包括:project.xcworkspace和xcuserdata,它们是与用户有关的。Git中有一个.gitignore配置文件,在这个文件中可以设置被忽略的文件。下面的内容是一个.gitignore配置文件:

[cpp] view plain copy
 print?
  1. # Exclude the build directory  
  2.   
  3. build/*  
  4.   
  5. # Exclude temp nibs and swap files  
  6.   
  7. *~.nib  
  8.   
  9. *.swp  
  10.   
  11. # Exclude OS X folder attributes  
  12.   
  13. .DS_Store  
  14.   
  15. # Exclude user-specific XCode 3 and 4 files  
  16.   
  17. *.mode1  
  18.   
  19. *.mode1v3  
  20.   
  21. *.mode2v3  
  22.   
  23. *.perspective  
  24.   
  25. *.perspectivev3  
  26.   
  27. *.pbxuser  
  28.   
  29. *.xcworkspace  
  30.   
  31. xcuserdata  


文件中#号是注释,可以使用正则表达式,文件考虑到了X code 3和4差别。这个文件创建之后,应该放在什么地方?如果只考虑对一个特定工程忽略,.gitignore文件应该放在代码库目录下面,目录结构如下所示:

<代码库目录>

[cpp] view plain copy
 print?
  1. └── HelloWorld  
  2.   
  3. ├── HelloWorld  
  4.   
  5. │   ├── AppDelegate.h  
  6.   
  7. │   ├── AppDelegate.m  
  8.   
  9. │   ├── Default-568h@2x.png  
  10.   
  11. │   ├── Default.png  
  12.   
  13. │   ├── Default@2x.png  
  14.   
  15. │   ├── ViewController.h  
  16.   
  17. │   ├── ViewController.m  
  18.   
  19. │   ├── HelloWorld-Info.plist  
  20.   
  21. │   ├── HelloWorld-Prefix.pch  
  22.   
  23. │   ├── en.lproj  
  24.   
  25. │   │   ├── InfoPlist.strings  
  26.   
  27. │   │   └── MainStoryboard.storyboard  
  28.   
  29. │   └── main.m  
  30.   
  31. └── HelloWorld.xcodeproj  
  32.   
  33. │  
  34.   
  35. └── .gitignore  


如果考虑适用于所有的Xcode工程,则需要使用git config命令配置git,在终端中执行git config命令:

$ git config –global core.excludesfile  ~/.gitignore

该命令会将配置信息写入到~/.gitconfig文件中,–global参数是配置全局信息,~/.gitignore说明文件是放置于当前用户目录下。

为了使本机上的所有代码库都默认使用git用户,还需要执行如下命令进行配置:

$ git config –global user.name git

$ git config –global user.email eorient@sina.com

在Xcode中使用git还会遇到很多问题,老关总结常见的4个问题,明天和大家分享一下,得干活去了

问题1,如何在Xcode中创建代码库,并添加和提交代码到代码库?

问题2,如何在Xcode中提交推送给远程服务器代码库?

问题3,如何在Xcode中克隆远程服务器代码库到本地?

问题4,如何使用Xcode获取远程代码库数据,并解决冲突问题?

真像在此http://blog.csdn.net/tonny_guan/article/details/8699707

0 0
原创粉丝点击