CocoaPods:
CocoaPods用来“管理”第三方框架的(第三方框架更新之后,会自动更新,会下载依赖框架!坏处:不能够手动改变框架源码,只能通过框架给你提供的API去改变);类库管路工具;类似于java中的
maven。
CocoaPods的安装步骤:-----命令----
1.利用 gem 安装 CocoaPods!
1> gem服务器在国外,提供了非常丰富的终端应用程序! gem常用命令如下:
{
// 查看gem源
$ gem sources –l
// gem自身升级
$ sudo gem update --system
// 查看版本
$ gem --version
// 清除过期的gem
$ sudo gem cleanup
// 安装包
$ sudo gem install cocoapods
// 删除包
$ gem uninstall cocoapods
// 更新包
$ sudo gem update
// 列出本地安装的包
$ gem list
}
2> CocoaPods安装
严格按照以下步骤安装!
{
// 添加源
$ sudo gem sources -a https://ruby.taobao.org/
// 删除源
$ sudo gem sources -r https://rubygems.org/
// 安装
$ sudo gem install cocoapods
// 设置
$ pod setup
}
2. pod 常用命令!
{
// 创建默认的 Podfile
$ pod init
1> gem服务器在国外,提供了非常丰富的终端应用程序! gem常用命令如下:
{
// 查看gem源
$ gem sources –l
// gem自身升级
$ sudo gem update --system
// 查看版本
$ gem --version
// 清除过期的gem
$ sudo gem cleanup
// 安装包
$ sudo gem install cocoapods
// 删除包
$ gem uninstall cocoapods
// 更新包
$ sudo gem update
// 列出本地安装的包
$ gem list
}
2> CocoaPods安装
严格按照以下步骤安装!
{
// 添加源
$ sudo gem sources -a https://ruby.taobao.org/
// 删除源
$ sudo gem sources -r https://rubygems.org/
// 安装
$ sudo gem install cocoapods
// 设置
$ pod setup
}
2. pod 常用命令!
{
// 创建默认的 Podfile
$ pod init
// 第一次使用安装框架 下载 这个命令比较慢,用下面那个,
$ pod install
// 安装框架,不更新本地索引,速度快
control +c 取消上一个操作。
$ pod install --no-repo-update
// 今后升级、添加、删除框架,或者框架不好用都使用这个命令
$ pod update
// 更新框架,不更新本地索引,速度快
$ pod update --no-repo-update
// 今后升级、添加、删除框架,或者框架不好用都使用这个命令
$ pod update
// 更新框架,不更新本地索引,速度快
$ pod update --no-repo-update
// 搜索框架
$ pod search XXX如:afn
// 帮助
$ pod --help
}
表示CocoaPods初始化成功,可以搜索任何的第三方框架
pod search afn
给项目文件设置cocospods管理第三方框架的步骤
1.新建一个项目文件,打开终端,cd 把项目文件托进去---回车
2.在终端中操作。输入命令 pod init 在项目文件中就有一个Podfile文件了
3.在终端中搜索第三方框架, pod search XXX (如:fan 、 SDWebImage等等)
4.选中你想要的第三方框架,如: pod ‘AFNetworking’ ,把这句代码赋值到 Podfile 文件上。
5.输入命令 pod install --no-repo-update ,很快的下载框架。
6.出现了
表示下载完成了。从这个操作以后,在关闭所有相关的项目文件。用cocospods生产的文件打开。
git:版本控制工具—帮助程序员协同开发,是分布式版本控制,可以在任何地方控制版本。根据代码来使用命令
SVN是集中式版本控制工具:依赖于SVN服务器
集中式:关于版本的信息,都保存在服务器中
分布式:在本地会保存所有的版本信息,服务器只需要跟本地保存的版本信息“同步”一下就OK了。
利用git管理项目版本的步骤:
1.在项目中初始化git 管路工具(将当前项目纳入git版本控制器)——初始化 工程的时候,勾选git!或者在空项目文件夹中在终端中往里面添加.m且文件 touch aaa.m , 直接使用 git init 命令初始化项目。(显示隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool true)
2.项目文件改变之后。会出现M标识 ,如果新增加了文件,会出现A标识。
3.利用git status 查看当前项目文件状态
红色:修改没提交/增加了新文件
绿色:已经将当前的修改的内容由工作区提交到了暂存区。没有内容:说明当前工作区和暂存区都是空的
4. git add .:将当前工作区的所有文件(修改/增加)提交到暂存区
5.git commit -m"本次更改注释"
:将当前暂存区的内容提交到本地git仓库(用来控制版本!)
6.git log 可以查看修改的日志 或用这个查看日志,更简洁易看
丧心病狂的日志配置
git config--global alias.lg"log --color --graph --pretty=format:'%Cred%h%Creset-%C(yellow)%d%Creset%s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
注意:如果是直接利用git管理项目不用终端管理,用Xcode管理的话,初始化项目的时候,勾选git,然后在 SourceControl 中的comma提交,在 history中可以看到你做的修改,
git 常用指令:如果你的git没有配置用户名和邮箱,要先配置这两个。
-
githelp :git指令帮助手册
-
查看其他指令的做法:githelp 其他指令
- gitconfig :git的配置信息相关(修改的是.git/config文件)
- 配置用户名:gitconfig “user.name”用户名(用于跟踪修改记录)
- 配置邮箱:gitconfig “user.email”邮箱(用于多人开发间的沟通)
- 查看配置信息:gitconfig –l
- 编辑配置信息:gitconfig –e(用vim编辑,:wq是退出vim编辑器)
- 设置指令的别名:gitconfig alias.别名原指令名称
- 设置带参数指令的别名:gitconfig alias.别名“原指令名称 参数”
- 将此设置应用到整个系统中:gitconfig ––global “user.name”用户名 配置全局的,就不用每次上传都要输入用户名和密码了,
-
gitstatus :查文件的状态
-
查看某个文件的状态:gitstatus 文件名
-
查看当前路径所有文件的状态:gitstatus
- gitlog :查看文件的修改日志
- 查看某个文件的修改日志:gitlog 文件名
- 查看当前路径所有文件的修改日志:gitlog
- 用一行的方式查看简单的日志信息:gitlog ––pretty=oneline
- 查看最近的N次修改:gitlog–N(N是一个整数)
- gitdiff :查看文件最新改动的地方
- 查看某个文件的最新改动的地方:gitdiff 文件名
- 查看当前路径所有文件最新改动的地方:gitdiff
- gitinit :初始化一个空的本地仓库,生成一个.git目录,用于维护版本信息
- 在当前路径初始化仓库:gitinit
- 在其他路径初始化仓库:gitinit 仓库路径
- gitadd :将工作区的文件保存到暂缓区
- 保存某个文件到暂缓区:gitadd 文件名
- 保存当前路径的所有文件到暂缓区:gitadd .(注意,最后是一个点 . )
- gitcommit :将暂缓区的文件提交到当前分支
- 提交某个文件到分支:git commit -m ”注释”文件名
- 保存当前路径的所有文件到分支:git commit -m ”注释”
- gitreset :版本回退(建议加上––hard参数,git支持无限次后悔)
- 回退到上一个版本:gitreset ––hard HEAD^
- 回退到上上一个版本:gitreset ––hard HEAD^^
- 回退到上N个版本:gitreset––hard HEAD~N(N是一个整数)
- 回退到任意一个版本:gitreset ––hard 版本号(版本号用7位即可)
- gitreflog :查看指令使用记录(能够查看所有的版本号)
- gitrm:删除文件(删完之后要进行commit操作,才能同步到版本库)
- gitclone:下载远程仓库到本地
- 下载远程仓库到当前路径:gitclone 仓库的URL
- 下载远程仓库到特定路径:gitclone 仓库的URL 存放仓库的路径
-
- gitpull:下载远程仓库的最新信息到本地仓库
- gitpush:将本地的仓库信息推送到远程仓库
常用 Git 命令清单
一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。
下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。
- Workspace:工作区
- Index / Stage:暂存区
- Repository:仓库区(或本地仓库)
- Remote:远程仓库
一、新建代码库
# 在当前目录新建一个Git代码库
$ git init
# 新建一个目录,将其初始化为Git代码库
$ git init [project-name]
# 下载一个项目和它的整个代码历史
$ git clone [url]
二、配置
Git的设置文件为.gitconfig
,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)。
# 显示当前的Git配置
$ git config --list
# 编辑Git配置文件
$ git config -e [--global]
# 设置提交代码时的用户信息
$ git config [--global] user.name "[name]"
$ git config [--global] user.email "[email address]"
三、增加/删除文件
# 添加指定文件到暂存区
$ git add [file1] [file2] ...
# 添加指定目录到暂存区,包括子目录
$ git add [dir]
# 添加当前目录的所有文件到暂存区
$ git add .
# 删除工作区文件,并且将这次删除放入暂存区
$ git rm [file1] [file2] ...
# 停止追踪指定文件,但该文件会保留在工作区
$ git rm --cached [file]
# 改名文件,并且将这个改名放入暂存区
$ git mv [file-original] [file-renamed]
四、代码提交
# 提交暂存区到仓库区
$ git commit -m [message]
# 提交暂存区的指定文件到仓库区
$ git commit [file1] [file2] ... -m [message]
# 提交工作区自上次commit之后的变化,直接到仓库区
$ git commit -a
# 提交时显示所有diff信息
$ git commit -v
# 使用一次新的commit,替代上一次提交
# 如果代码没有任何新变化,则用来改写上一次commit的提交信息
$ git commit --amend -m [message]
# 重做上一次commit,并包括指定文件的新变化
$ git commit --amend [file1] [file2] ...
五、分支
# 列出所有本地分支
$ git branch
# 列出所有远程分支
$ git branch -r
# 列出所有本地分支和远程分支
$ git branch -a
# 新建一个分支,但依然停留在当前分支
$ git branch [branch-name]
# 新建一个分支,并切换到该分支
$ git checkout -b [branch]
# 新建一个分支,指向指定commit
$ git branch [branch] [commit]
# 新建一个分支,与指定的远程分支建立追踪关系
$ git branch --track [branch] [remote-branch]
# 切换到指定分支,并更新工作区
$ git checkout [branch-name]
# 建立追踪关系,在现有分支与指定的远程分支之间
$ git branch --set-upstream [branch] [remote-branch]
# 合并指定分支到当前分支
$ git merge [branch]
# 选择一个commit,合并进当前分支
$ git cherry-pick [commit]
# 删除分支
$ git branch -d [branch-name]
# 删除远程分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]
六、标签
# 列出所有tag
$ git tag
# 新建一个tag在当前commit
$ git tag [tag]
# 新建一个tag在指定commit
$ git tag [tag] [commit]
# 查看tag信息
$ git show [tag]
# 提交指定tag
$ git push [remote] [tag]
# 提交所有tag
$ git push [remote] --tags
# 新建一个分支,指向某个tag
$ git checkout -b [branch] [tag]
七、查看信息
# 显示有变更的文件
$ git status
# 显示当前分支的版本历史
$ git log
# 显示commit历史,以及每次commit发生变更的文件
$ git log --stat
# 显示某个文件的版本历史,包括文件改名
$ git log --follow [file]
$ git whatchanged [file]
# 显示指定文件相关的每一次diff
$ git log -p [file]
# 显示指定文件是什么人在什么时间修改过
$ git blame [file]
# 显示暂存区和工作区的差异
$ git diff
# 显示暂存区和上一个commit的差异
$ git diff --cached [file]
# 显示工作区与当前分支最新commit之间的差异
$ git diff HEAD
# 显示两次提交之间的差异
$ git diff [first-branch]...[second-branch]
# 显示某次提交的元数据和内容变化
$ git show [commit]
# 显示某次提交发生变化的文件
$ git show --name-only [commit]
# 显示某次提交时,某个文件的内容
$ git show [commit]:[filename]
# 显示当前分支的最近几次提交
$ git reflog
八、远程同步
# 下载远程仓库的所有变动
$ git fetch [remote]
# 显示所有远程仓库
$ git remote -v
# 显示某个远程仓库的信息
$ git remote show [remote]
# 增加一个新的远程仓库,并命名
$ git remote add [shortname] [url]
# 取回远程仓库的变化,并与本地分支合并
$ git pull [remote] [branch]
# 上传本地指定分支到远程仓库
$ git push [remote] [branch]
# 强行推送当前分支到远程仓库,即使有冲突
$ git push [remote] --force
# 推送所有分支到远程仓库
$ git push [remote] --all
九、撤销
# 恢复暂存区的指定文件到工作区
$ git checkout [file]
# 恢复某个commit的指定文件到工作区
$ git checkout [commit] [file]
# 恢复上一个commit的所有文件到工作区
$ git checkout .
# 重置暂存区的指定文件,与上一次commit保持一致,但工作区不变
$ git reset [file]
# 重置暂存区与工作区,与上一次commit保持一致
$ git reset --hard
# 重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变
$ git reset [commit]
# 重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致
$ git reset --hard [commit]
# 重置当前HEAD为指定commit,但保持暂存区和工作区不变
$ git reset --keep [commit]
# 新建一个commit,用来撤销指定commit
# 后者的所有变化都将被前者抵消,并且应用到当前分支
$ git revert [commit]
十、其他
# 生成一个可供发布的压缩包
$ git archive