Git的初始化和访问配置
01 初始化一个本地的仓库
$ git init
02 配置仓库的用户名和邮箱
$ git config user.name "CoderXYF"
$ git config user.email "18310373017@163.com"
03 全局配置git仓库的用户名和邮箱(git仓库在操作的时候会先查找当前仓库的用户名和邮箱,如果没有那么再查找全局的用户名和邮箱)
$ git config --global user.name "CoderXYF"
$ git config --global user.email "18310373017@163.com"
Git仓库项目初始化操作
01 首先先创建Main.m文件
$ touch Main.m
02 查看版本库中文件的状态
$ git status ||红色,那么说明该文件需要添加到git的暂缓区
03 把新创建的文件添加到暂缓区
$ git add Main.m
04 查看版本库中文件的状态
$ git status ||绿色:表示该文件已经被添加到暂缓区中
05 把暂缓区中的更改提交到本地的版本库
$ git commit -m "新创建了文件" Main.m
06 修改main.m文件,重新查看文件的状态
$ echo "hello Main">Main
$ git status ||红色,说明需要做add操作
07 把文件的修改操作添加到sh
$ git add Main.m
08 把更改提交到本地的版本库
$ git commit -m "修改了文件" Main.m
注意点:在SVN中只有新创建的文件需要add操作,而在git中新创建文件或者是修改了文件都需要再做一次add操作
Git起别名操作
SVN
status - st
commit - ci
checkout - co
update - up
remove - rm
Git
在git中可以给任何的命名设置一个别名
$ git config alias.st "status"
$ git config alias.lalala "status"
$ git config alias.ci "commit -m"
设置全局的别名
$ git config --global alias.st "status"
git add . 表示把当前所有的更改都提交到暂缓区
当前的工作区-add-暂缓区-commit-本地的版本库(分支) (-远程的版本库)
Git删除文件操作
SVN :svn remove 文件名
GIT :svn rm 文件名
01 删除工作区中的文件
$ git rm Main.m
02 查看版本库的状态
$ git status || 绿色:删除文件操作不需要添加到暂缓区
03 把更改提交到本地的版本库
$ git commit -m "删除了Main文件"
Git查看版本信息
SVN:
(1)svn update
(2)svn log
Git:
基本方法:git log ||版本号码使用SHA加密是40位的
加强方法:git reflog 用这种方法来查看版本信息可以看到版本回退操作
Git版本回退(reset)
GIT版本回退的两种情况
[1] 修改了内容,但是还没有提交到版本库
$ git reset --hard HEAD
[2] 修改了内容,并且已经提交到版本库
$ git reset --hard HEAD^
$ git reset --hard HEAD^^
通过版本号回到指定的版本:
$ git reset --hard 04661(五位数的版本号)
Git创建共享版本库说明
共享版本库的几种情况:
[1]搭建服务器,在服务器端设置共享版本库 |正规公司
[2]把共享版本库创建在某个文件夹中
[3]把共享版本库创建在U盘里面
[4]把共享版本库托管在第三方的网站上面(github|oschina|..)
01 创建共享的版本库
$ git --bare init
02 项目组长要对共享版本库做初始化操作
[1]项目组长先连接到共享版本库,把版本库下载到本地
$ git clone 路径
[2]项目组长完成忽略操作
(1) 创建忽略文件.gitignore
$ touch .gitignore
(2) 设置该文件的内容
https://github.com/github/gitignore/blob/master/Objective-C.gitignore
(3) 把该文件添加到暂缓区中
$ git add .gitignore
(4) 把暂缓区中的内容提交到本地的版本库
$ git commit -m "创建忽略文件"
(5) 把本地的版本库提交到共享的版本库
$ git push
Git共享版本库项目初始化
[1] 通过Xcode来创建代码,该代码内部默认会自动做一次添加操作
[2] 通过终端来把当前的项目提交到本地的版本库
$ git commit -m "初始化项目"
[3] 把本地版本库中的代码提交到共享版本库
$ git push
[4] 创建zhangsan的文件夹表示张三的电脑
[5] 下载共享版本库到张三的电脑
$ git clone 路径
[6] 设置张三仓库的用户信息
$ git config user.name "zhangsan"
$ git config user.email "zhangsan@163.com"
Xcode使用Git(添加静态库)
建议:在本地的仓库中对所有的文件都进行一次add操作
$ git add .
CocoaPods安装与使用
01.先升级Gem(可以省略)
sudo gem update --system
02.切换CocoaPods的数据源
【先删除,再添加,查看】
删除源 gem source --remove https://rubygems.org/
添加源(现在不添加这个源了:https://ruby.taobao.org/,貌似不能用),改以下这个源
gem sources -a https://gems.ruby-china.org/
查看源 gem source -l
03.安装CocoaPods
sudo gem install cocoapods
或者(如10.11系统)sudo gem install -n /usr/local/bin cocoapods
04.设置pod仓库
pod setup
注意:Setting up CocoaPods master repo 一直卡着不动,
加载时间比较长,可以使用commend + n 创建一个新的命令窗口,执行以下命令
cd ~/.cocoapods
du -sh *(这个命令是查看文件加载了多少,或者看有没有开始加载,每几分钟看一次,算是给自己一个镇定剂吧)
或者:更换repo镜像为国内服务器
pod repo remove master
pod repo add master https://gitcafe.com/akuandew/Specs.git(貌似不行了)
pod repo update
或者详见:http://blog.csdn.net/fengsh998/article/details/52172741
05.测试
【如果有版本号,则说明已经安装成功】
pod --version
06.利用CocoaPods来安装第三方框架
[1] 进入要安装框架的项目的.xcodeproj同级文件夹
[2] 在该文件夹中新建一个文件podfile (pod init)
[3] 在文件中告诉CocoaPods需要安装的框架信息
a.该框架支持的平台
b.适用的iOS版本
c.框架的名称
d.框架的版本
07.安装
pod install
pod update --no-repo-update
pod search 搜索框架
08.说明
platform :ios, '7.0' 用来设置所有第三方库所支持的iOS最低版本
pod 'SDWebImage','~>3.7.5' 设置框架的名称和版本号
版本号的规则:
'>1.0' 可以安装任何高于1.0的版本
'>=1.0' 可以安装任何高于或等于1.0的版本
'<1.0' 任何低于1.0的版本
'<=1.0' 任何低于或等于1.0的版本
'~>0.1' 任何高于或等于0.1的版本,但是不包含高于1.0的版本
'~>0' 任何版本,相当于不指定版本,默认采用最新版本号
09.使用pod install命令安装框架后的大致过程:
[1] 分析依赖:该步骤会分析Podfile,查看不同类库之间的依赖情况。如果有多个类库依赖于同一个类库,但是依赖于不同的版本,那么CocoaPods会自动设置一个兼容的版本。
[2] 下载依赖:根据分析依赖的结果,下载指定版本的类库到本地项目中。
[3] 生成Pods项目:创建一个Pods项目专门用来编译和管理第三方框架,CocoaPods会将所需的框架,库等内容添加到项目中,并且进行相应的配置。
[4] 整合Pods项目:将Pods和项目整合到一个工作空间中,并且设置文件链接。
卸载:sudo gem uninstall cocoapods
常见错误:
[!] /usr/bin/git pull --ff-only
原因: CocoaPods的分支不支持当前最新的Xcode版本
解决办法: 删除master分支 重新建立新的分支,然后重新设置仓库即可
sudo rm -fr ~/.cocoapods/repos/master
pod setup