iOS程序猿之使用GitHub完成一次项目开发

一次简单的开发过程

1. git init --bare shared.git

创建空的版本库

2. git clone ~/Desktop/gitdemo/repository/shared.git/
从版本库将代码克隆到工作目录

3. git add .
将所有修改过的文件添加到暂存区

4. git commit -m "修改的信息"
将文件提交到本地代码仓库

5. git push origin master
将本地代码仓库中的修改推送到远程(origin)代码仓库的master分支

6. git pull
从远程代码仓库将最新的内容拉到本地代码库

7. git status
查看本地代码仓库的文件状态

*** 要在Xcode中要使用.git进行团队开发必须设置.gitignore文件
说明:.gitignore文件用于指定在提交文件是忽略哪些文件或文件夹

内容如下:

build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
*.xccheckout
*.moved-aside
DerivedData
*.hmap
*.Ripa
*.xcuserstate
contents.xcworkspacedata
project.xcworkspace
UserInterfaceState.xcuserstate
project.xcworkspace/
xcuserdata/
UserInterface.xcuserstate
# CocoaPods
#
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control
#
.DS_Store
Pods
Pods/*

012.png


具体操作步骤如下:
1>
# 从缓存区中删除UserInterfaceState.xcuserstate文件
git rm --cached MyDemo/MyDemo.xcodeproj/project.xcworkspace/xcuserdata/aplle.xcuserdatad/UserInterfaceState.xcuserstate

或者
# 强制删除UserInterfaceState.xcuserstate文件
git rm -f MyDemo/MyDemo.xcodeproj/project.xcworkspace/xcuserdata/aplle.xcuserdatad/UserInterfaceState.xcuserstate

2> vim .gitignore
并粘贴
project.xcworkspace
:wq保存退出

创建上述.gitignore文件后会忽略project.xcworkspace目录中的所有文件,包括界面记录、断点记录等信息

一次完整的Git开发


1. 创建空代码库,代码库的名称为 shared.git
================================================================================
git init --bare shared.git

2. 准备代码
================================================================================

1> 克隆代码库
git clone ~/Desktop/gitdemo/repository/shared.git/

2> 配置当前代码库的用户信息(如果已经配置过全局用户属性,此步骤可以忽略)
# 进入shared工作目录
cd shared
# 配置用户名
git config user.name manager
# 配置用户邮箱
git config user.email manger@163.com

3> 打开Xcode创建项目并保存在shared目录中

4> 忽略不必要的用户数据文件
# 查看当前状态,以便选择用户文件
git stauts

# 具体的目录名称根据项目所在位置决定,需要注意末尾的文件名是:UserInterfaceState.xcuserstate
git rm -f IWeibo/IWeibo.xcodeproj/project.xcworkspace/xcuserdata/liufan.xcuserdatad/UserInterfaceState.xcuserstate

# 生成.gitignore文件
echo "project.xcworkspace" > .gitignore

# 将.gitignore文件添加到暂存区
git add .

# 将所有修改提交到本地代码库
git commit -m "new project"

5> 用Xcode打开项目,调整代码,并将调整后的代码,提交到本地代码库
说明,如果勾选“Push To Remote”,点击Commit按钮时会执行以下三个操作
(1) 将修改后的文件添加到暂存区
(2) 将暂存区中的文件提交到本地代码库
(3) 将本地代码库的内容提交到远程代码库

6> 在Xcode中,创建developer分支,供开发时使用
注意:新建分支之后,需要使用push功能,将改分支推送到远程代码库,否则该分支只能在用户本地可见

3. V1.0开发
================================================================================
1> User01在developer分支上开发并提交代码
2> 当V1.0开发完成后,经理将developer分支上的代码合并到master分支上
3> 经理切换回master分支,并在命令行中增加标签

# 在当前时间点增加v1.0的标签
git tag -a v1.0 -m "Version 1.0"

# 将v1.0的标签推送到远程代码库
git push origin v1.0

# 查看本地标签
git tag

# 查看本地分支
git branch

# 查看所有分支
git branch -a

4> 经理将当前v1.0版本进行发布

4. V2.0开发中的修改V1.0的Bug
================================================================================
1> 经理在master分支中创建v1.0bugfix分支,并通知User01进行修改

2> 正在开发中的User01接收到修复Bug的工作命令后,停止手头工作,并将当前代码提交至服务器

3> 直接切换到v1.0bugfix分支,对V1.0的bug进行修订,修改完成后,提交代码

4> 经理审核代码通过后,将修改后的代码整合到master主线上

5> 经理增加v1.1的标签

# 在当前时间点增加v1.0的标签
git tag -a v1.1 -m "Version 1.0"

# 将v1.0的标签推送到远程代码库
git push origin v1.1

# 删除远程分支
git push origin --delete V1.0bug_fix

6> User01将修改后的代码整合到developer主线上,并且开始后续工作

5. Tag的作用
================================================================================
在GIT中,可以在任意需要的时间点,在分支上打上标签,而在其他任何需要的时候,将代码切换回该时间点的状态

# 签出v1.0标签
git checkout v1.0

# 将该标签时刻的代码建立一个分支
git checkout -b v1.0branch

# 删除远程标签
git push origin --delete tag

# 删除本地标签
git tag -d

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值