标签:
# 从代码库(暂存区中删除文件)
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
01. 建立代码仓库(专门用于团队开发的代码仓库)
================================================================================
# 切换目录
$ cd /Users/aa/Desktop/git演练/公司/weibo
# 建立空白代码库(专门用于团队开发)
$ git init --bare
02. 项目经理准备项目(前奏)
================================================================================
# 切换目录
$ cd /Users/aa/Desktop/git演练/经理
# "克隆"代码库到本地
$ git clone /Users/aa/Desktop/git演练/公司/weibo/
# 个人信息配置(因为要演示一台机器上的多人协作,日常开发可以忽略)
$ git config user.name manager
$ git config user.email manager@163.com
.gitignore
--------------------------------------------------------------------------------
.gitignore可以指定哪些文件不纳入版本库的管理
参考网址:https://github.com/github/gitignore
# 命令行中进入与.git同级的目录
$ cd /Users/aa/Desktop/git演练/经理/weibo
将以下命令一次性粘贴到命令行中
--------------------------------------------------------------------------------
echo -e "# Xcode
#
build/
*.pbxuser
*.mode1v3
*.mode2v3
*.perspectivev3
xcuserdata
*.xccheckout
*.moved-aside
DerivedData
*.hmap
*.ipa
*.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
#
# Pods/" > .gitignore
--------------------------------------------------------------------------------
# 将.gitignore添加到代码库
$ git add .gitignore
03. 创建项目
================================================================================
提交同时"push"到远程代码仓库
04. 新人加入
================================================================================
05. 分布式的代码库 - 仅供参考
================================================================================
由于git是分布式的,任何一台计算机上都保留有完整的代码库的内容,因此可以把团队开发的代码库放在任何位置
多个远程代码库之间的同步演练"提示,此演练仅供了解,具体的使用,需要一定的团队规模之后,才能够体会"
06. 分支管理 - Tag
================================================================================
# 查看当前标签
$ git tag
# 在本地代码库给项目打上一个标签
$ git tag -a v1.0 -m ‘Version 1.0‘
# 将标签添推送到远程代码库中
$ git push origin v1.0
# 使用tag,就能够将项目快速切换到某一个中间状态,例如产品开发线上的某一个稳定版本
# 签出v1.0标签
$ git checkout v1.0
# 从签出状态创建v1.0bugfix分支
$ git checkout -b bugfix1.0
# 查看远程分支
$ git branch -r
# 删除远程分支
$ git branch -r -d origin/bugfix1.0
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
创建上述.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 <tagname>
# 删除本地标签
git tag -d <tagname>
标签:
原文地址:http://blog.csdn.net/zhangping871/article/details/45315959