Git
一.命令⾏
1.初始化⼀一个代码仓库
git init
2.如果使⽤用GIT,必须给GIT配置⽤用户名和邮箱 给当前的git仓库配置⽤用户名和邮箱
git config user.name “xxx”
git config user.email “xxxx@163.com”
- 给git配置全局的⽤用户和邮箱
git config —global user.name “xxxx”
git config —global user.email “xxxx@163.com”
3.初始化项项目
touch main.m
: 创建了main.m
git add main.m
: 将main.m添加到暂缓区
git commit -m “初始化项目”
: 将在暂缓区的所有内容提交到本地版本库,清空暂缓区
git add .
: 将在⼯工作区所有不在暂缓区的所有内容添加到暂缓区
注意: 添加的⽂文件或者是修改的⽂文件都要通过add命令将该⽂文件添加到暂缓区
4.查看⽂文件状态
git status
红色 : 该⽂文件被添加或者被修改,但是没有添加到git的暂缓区
绿色 : 该⽂文件在暂缓区,但是没有提交到本地版本库
5.给命令⾏行起别名
git config alias.st “status”
git config alias.ci “commit -m”
git config —global alias.st “status"
6.删除⽂文件
git rm person.m
: 将person.m删除
7.查看版本信息
git log
: 版本号是由sha1算法⽣生成的40位哈希值
git reflog
: 可以查看所有版本回退的操作
8.版本回退
git reset —hard HEAD
: 回到当前版本
git reset —hard HEAD^
: 回到上⼀一个版本
git reset —hard HEAD^^
: 回到上上个版本
git reset —hard HEAD~100
:回到前100个版本git reset —hard 版本号(一般使用前5位)
9.给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服务器的搭建⾮非常繁琐(linux)
- 可以把代码托管到(Github/OSChina)
- 一个⽂文件夹
- 一个U盘
1.⼀一个⽂文件夹作为共享版本库
git init —bare
2.将共享版本库的所有内容下载到本地
git clone 共享版本库地址
3.删除忽略⽂文件
touch .gitignore
—> Github ->搜索”.gitignore” -> 选择*最多的->找到Object-C,复制下来
4.版本回退
git reset —hard HEAD^
:回到上一个版本
git push -f
:强制上传到共享版本库
git reset —hard HEAD^
:回到上一个版本
三.版本备份
1. 1.0版本开发完毕,将1.0版本上传到AppStore,对1.0版本进⾏行备份(打上标签)
git tag -a 项目1.0 -m “这是1.0版本”
git tag
2.需要将标签push到共享版本库
git push origin 项目1.0
3.开始2.0版本的开发
4.发现1.0版本有bug,在经理的⽂文件夹下⾯面创建⼀一个⽂文件夹,⽤用于修复bug,将共 享版本库所有内容clone
git clone
5.将当前的代码转为1.0标签,创建分支,并切换到该分⽀
git checkout 项目1.0
: 转为1.0标签
git checkout -b 项目1.1fixbug
: 创建分⽀支,并切换到该分⽀
6.在分支中修复bug,上传到AppStore,将修复好的版本,打上tag,并上传到共享 版本库
git tag -a 项目1.1 -m “这是修复了1.0bug的1.1版本”
git push origin 项目1.1
7.跟当前正在开发的2.0版本进行合并
source Control - > pull ->项目1.1fixbug
8.删除分⽀支
git branch
:查看当前在哪个分⽀
git branch -r
:查看本地版本库的分⽀
git branch -d 项目1.1fixbug
: 删除本地分⽀
git branch -r -d origin/项目1.1fixbug
:删除本地版本库分⽀支
git push origin —delete 项目1.1fixbug
五.Github上托管代码1.使⽤用HTTPS认证2.使⽤用SSHKeys认证
公钥 : 存在github上⽤用来解密
私钥 : 存在本地的⼀一个.ssh⽂文件夹下⽤用来加密