tset123 发表于 2018-9-18 10:35:35

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

  很多Git命令都是在命令行下运行的,命令行下管理Git有很多优点不用多说。但最大的缺点是要求用户记住这些命令。因此Git图形界面还是很受一 些用户欢迎的,其中Xcode作为集成开发环境工具,也提供了一定Git图形界面功能。但是要想在Xcode中使用Git管理工程代码还想需要进行一些配 置,然后才能使用。
  如果我们是使用Xcode 4创建的一个iOS工程,在终端的命令行中提交代码时候,可能会出现下面的部分信息:
  create mode 100644 HelloWorld/HelloWorld.xcodeproj/project.xcworkspace/contents.xcworkspacedata
  create mode 100644HelloWorld/HelloWorld.xcodeproj/project.xcworkspace/xcuserdata/tonyguan.xcuserdatad/UserInterfaceState.xcuserstate
  create mode 100644 HelloWorld/HelloWorld.xcodeproj/xcuserdata/tonyguan.xcuserdatad/xcschemes/HelloWorld.xcscheme
  create mode 100644 HelloWorld/HelloWorld.xcodeproj/xcuserdata/tonyguan.xcuserdatad/xcschemes/xcschememanagement.plist
  rewrite HelloWorld.xcodeproj/project.xcworkspace/xcuserdata/tonyguan.xcuserdatad/UserInterfaceState.xcuserstate (83%)
  事实上是能够列入到代码版本控制的文件是有规定的,不能是编写的二进制文件、临时文件和用户特有的文件等。下面是Xcode 4创建的HelloWorld工程的目录结果:
  HelloWorld
  ├── HelloWorld
  │   ├── AppDelegate.h
  │   ├── AppDelegate.m
  │   ├── HelloWorld-Info.plist
  │   ├── HelloWorld-Prefix.pch
  │   ├── ViewController.h
  │   ├── ViewController.m
  │   ├── en.lproj
  │   │   ├── InfoPlist.strings
  │   │   └── ViewController.xib
  │   └── main.m
  └── HelloWorld.xcodeproj
  ├── project.pbxproj
  ├── project.xcworkspace
  │   ├── contents.xcworkspacedata
  │   └── xcuserdata
  │       └── tonyguan.xcuserdatad
  │         └── UserInterfaceState.xcuserstate
  └── xcuserdata
  └── tonyguan.xcuserdatad
  ├── xcdebugger
  │   └── Breakpoints.xcbkptlist
  └── xcschemes
  ├── HelloWorld.xcscheme
  └── xcschememanagement.plist
  其中HelloWorld.xcodeproj属于包文件,它内部的很多东西是不能提交的,包括:project.xcworkspace和 xcuserdata,它们是与用户有关的。Git中有一个.gitignore配置文件,在这个文件中可以设置被忽略的文件。下面的内容是一 个.gitignore配置文件:
  # Exclude the build directory
  build/*
  # Exclude temp nibs and swap files
  *~.nib
  *.swp
  # Exclude OS X folder attributes
  .DS_Store
  # Exclude user-specific XCode 3 and 4 files
  *.mode1
  *.mode1v3
  *.mode2v3
  *.perspective
  *.perspectivev3
  *.pbxuser
  *.xcworkspace
  xcuserdata
  文件中#号是注释,可以使用正则表达式,文件考虑到了X code 3和4差别。这个文件创建之后,应该放在什么地方?如果只考虑对一个特定工程忽略,.gitignore文件应该放在代码库目录下面,目录结构如下所示:
  
  └── HelloWorld
  ├── HelloWorld
  │   ├── AppDelegate.h
  │   ├── AppDelegate.m
  │   ├── Default-568h@2x.png
  │   ├── Default.png
  │   ├── Default@2x.png
  │   ├── ViewController.h
  │   ├── ViewController.m
  │   ├── HelloWorld-Info.plist
  │   ├── HelloWorld-Prefix.pch
  │   ├── en.lproj
  │   │   ├── InfoPlist.strings
  │   │   └── MainStoryboard.storyboard
  │   └── main.m
  └── HelloWorld.xcodeproj
  │
  └── .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获取远程代码库数据,并解决冲突问题?

页: [1]
查看完整版本: iOS开发那些事-Git在Xcode中的配置与使用