五、初始化共享版本库和初始化项目
- 5.1.作为共享版版本库
- I.搭建git服务器
真实的git服务器的搭建需要使用Linux来进行搭建,搭建难度大且繁琐 - II.将代码托管Github:必须开源,不想开源需要交钱
- III.或者OSChina:免费,推荐国内速度快
- IV.一个U盘可以为共享版本库
- V.一个文件可以作为共享版本库
- 5.2.这里以文件作为共享版本库为例展示共享版本库的使用
- I.在
GIT
目录下创建一个Server
的文件夹来作为共享版本库 - II.打开终端,使用命令行初始化一个共享版本库
说明一下:config
里面的bare = true
代报是共享版本库且没有.git
,false
代表本地仓库
git init --bare
III.在GIT目录创建一个开发人员文件夹,并在里面创建一个经理的文件夹代表经理的电脑
5.3.三.项目经理初始化项目
- I.将服务器完整的内容下载到本地
git clone 服务器地址
- II.添加忽略文件".gitignore",使用git需要忽略的一些文件(说明:.gitignore 名字不能错)
touch .gitignore
- III.github中拷贝需要忽略的内容(github搜索.gitignore->找星最多的,点进去,找到object-c,打开复制)
- 1.进入github,搜索.gitignore,回车
2.选择星星最多的项目
3.找到Object-C点进去(因为使用的是OC),当然里面也有swift的忽略文件
4.复制所有内容到.gitignore文件中
5.将.gitignore添加到缓存区
git add .gitignore
6.将.gitignore提交到服务器
git commit -m "添加了需要忽略的文件"
7.使用xcode的初始化weibo项目放到经理的工作目录中
8.打开项目weibo项目,所有文件已经在暂缓区了
9.使用xcode提交到本地版本库(Source control -> commit),提交仅仅是提交到了本地版本库
10.使用xcode上传到共享版本库(Source control -> push)
- IV.开发人员1加入开发(验证项目经理的push操作是否成功在共享版本库中)
cd 开发人员1的目录 git clone server里面weibo的路径
- V.总结
- 1.文件作为共享版本库首先要创建个共享版本库,之后将共享版本库下载到本地就有了个.git仓库,在初始化项目之前先创建忽略文件,并从github上复制需要忽略的内容在文件中
- 2.新增命令,git clone 共享版本库地址:下载共享版本库完整的内容到本地
- 3.初始化完项目commit提交到本地版本库,push提交到共享版本库
六、GIT共享版本库多人开发
- 6.1.多人开发
- 1.项目经理开发
viewcontroller删除点代码后提交并push到共享版本库(source control -> commit)
2.开发人员1
- 2.1.从共享版本库将最新的代码更新到本地(Source control -> pull)
2.2.打印"好好工作"提交并push到共享版本库
2.3.项目经理开发
1.从共享版本库将最新的代码更新到本地(Source control -> pull)
2.创建person类提交并push到共享版本库
2.4.开发人员1开发
1.从共享版本库将最新的代码更新到本地(Source control -> pull)
2.打印"你好啊"提交并push到共享版本库
2.5.项目经理开发
1.在张三打印相同的那行代码打印"张三傻x",commit提交到本地版本库
2.点击push到共享版本库,报错过期
3.点击pull更新代码到本地,发生冲突
4.解决冲突,两者都保留
5.提交本地的修改commit并push到共享版本库
- 6.张三开发
从共享版本库将最新的代码更新到本地(Source control -> pull)
- 6.2.使用静态库(我的Xcode9支持静态库)
- 下面是不支持静态库的处理办法
- 1.将静态库拖入项目中,不识别.h文件也不识别.a文件,可以说不识别RegexLib文件夹的所有内容(仅仅是目前xcode对git支持的bug,以前并没有此情况,期待后期修复)
2.解决方案(一):
通过命令行,将RegexLib文件夹的所有内容添加到暂缓区
git add .
- 通过命令行,将RegexLib文件夹的所有内容添加到暂缓区
- 3.解决方案(二):
- 1.先创建真实文件夹拖入到项目中
2.静态库和代码拖入到项目中
3.提交添加的静态库并push到共享版本库中
- 4.总结
- 1.使用git先commit提交到本地版本库,再push到共享版本库
- 2.更新共享版本库的最新代码使用pull
- 3.先pull后再修改代码可以有效的避免冲突
- 4.保证只有一个人在修改storyboard的内容
- 5.在xcode中使用git解决冲突与svn使用解决冲突类似
- 6.静态库拖入后不识别两种解决方案
七、GIT版本备份(以1.0版本为例)
- 7.1.现在以1.0版本开发完毕,将1.0版本上传到Appstore,对1.0版本进行备份(打上标签)
git tag -a weiB o1.0 -m "这个是1.0版本" 注释:给某个版本打上标签,weibo是你的项目的名字 git tag 查看tag
- 7.2.需要将标签push到共享版本库(origin的意思是当前的目录)
git push origin weiBo1.0 注释:weiBo1.0是你打tag的名字,origin的意思是当前的目录
- 7.3.开始2.0版本的开发
- 7.4.发现1.0版本的bug,在经理版本的文件夹下面创建一个文件夹,用于修复bug,将共享版本库的内容clone
git clone 把服务器最新的代码都clone下来
- 7.5.将当前的代码转为1.0标签,创建分支,并切换到该分支
git checkout weiBo1.0 : 转为 1.0标签 git checkout -b weiBo1.1fixBug : 创建分支并切换到该分支
- 7.6.在分支中修复bug,上传到Appstore,将修复好的版本,打上tag,并上传到共享版本库
git tag -a weiBo1.1 -m "这是修复了1.0bug的1.1版本" git push orgion weiBo1.1
- 7.7.跟当前正在开发的2.0版本进行合并
source Control -> pull ->weiBo1.1fixBug
- 7.8.删除分支
git branch : 查看当前在哪个分支 git branch -r : 查看本地版本库的分支 git branch -d weibo1.1fixBug : 删除本地分支 git branch -r -d origin/weiBo1.1fixBug : 删除本地版本库分支 git push origin --delete weiBo1.1fixBug : 删除共享版本库的分支
八.创建Github代码仓库和HTTPs验证
- 8.1.前提准备
- 注册一个账号
8.2.登陆github网站 git hub
8.3.创建远程仓库
- 8.3.1.点击+ ->New repository
8.3.2.创建远程代码仓库
8.3.3.创建后会来到此界面,将https的url复制下来
8.4.在Xcode中添加远程仓库
- 8.4.1.点击Xcode的偏好设置
8.4.2.点击添加仓库
8.4.3.输入账号和密码
8.5.在桌面创建放项目的文件夹(名字自己随便起)
- 8.6.clone自己github上的项目到刚刚创建的文件夹里面
- 8.6.1.cd 进入该文件夹,初始化一下
git init
- 8.6.1.从Github上Clone项目到本地(下面是我的项目地址)
git clone https://github.com/JoanKing/WeiBo.git
- 8.7.在刚才的文件夹下面创建项目
8.8.查看下载的内容
8.9.初始化项目,上传到GitHub仓库
8.10.刷新GitHub的代码库,上传的内容就会在下面展示出来
8.11.总结
- 1.创建代码仓库的时候选择需要忽略的语言文件
- 2.在提交到服务器的时候,如果网络不太好,可以先commit,之后再push到远程服务器