- 一.命令⾏行的演练
- 1.初始化⼀一个代码仓库
git init
- 2.如果使⽤用git必须给git配置⼀一个⽤用户名和邮箱
给当前的git仓库配置⼀一个⽤用户名和邮箱
git config user.name “why”
git config user.email “why@163.com”
配置⼀一个全局的⽤用户名和邮箱
git config —global user.name “why”
git config —global user.email “why@163.com”
- 3.初始化项⺫⽬目
touch main.m : 创建了main.m
git add main.m : 将新添加的⽂文件或者修改的⽂文件添加到暂存区
git commit -m “初始化项⺫⽬目”
git add . : 将所有没有被添加到暂存区或者代码仓库的⽂文件添加到暂存区
注意:⽆无论是新添加的⽂文件或者修改的⽂文件,都需要先通过add命令添加到暂存区中, 之后再通过commit命令添加到本地仓库中
- 4.查看⽂文件的状态 git status
红⾊色 : 新创建的⽂文件或者被修改的⽂文件,没有被添加到暂存区
绿⾊色 : 表⽰示⽂文件在暂存区,但是没有被添加到本地仓库中
- 5.给命令起别名
git config alias.st “status”
git config alias.ci “commit -m”
git config —global alias.st “status”
- 6.git删除⽂文件 git rm ⽂文件名
- 7.查看版本号 git log
git reflog
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 lg
- 8.git的版本号是由sha1算法⽣生成40位的哈希值
- 9.版本回退
git reset —hard HEAD : 回退到当前的版本
git reset —hard HEAD^ : 回退到上⼀一个版本
git reset —hard HEAD^^ : 回退到上上个版本
git reset —hard HEAD~100 : 回退到前100版本
git reset -hard 版本号(前5位)

- 二.团队开发—共享版本库
- 真实的GIT服务器的搭建,是⾮非常繁琐的事情(Linux)
- 一个⽂文件夹
- 优盘
- 将代码托管到别⼈人的服务器(Github/OSChina)
-
1.⽂文件夹作为共享版本库
objc git init —bare
 -
2.项⺫⽬目经理将共享版本库的内容先下载下来
objc git clone 地址
 -
3.添加需要忽略的⽂件
objc touch .gitignore 去github上搜索.gitignore->Objective-C git add .gitignore git commit -m “添加了需要忽略的⽂文件”
 -
4.项目经理初始化项目
objc git commit -m “初始化项⺫⽬目”—>提交到本地代码仓库
 -
5.将项⺫⽬目push远程仓库中
objc git push origin
 -
6.当源代码管理是使⽤用GIT,并且在Xcode进⾏行多⼈人开发的操作
- 注意:当使⽤用GIT,项⺫⽬目中⽤用到了静态库就不需要通过命令⾏行进⾏行添加
-
三.版本备份
- 1.1.0版本开发完成,之后对1.0版本进⾏行备份
objc git tag -a weibo1.0 -m “这个是1.0版本” : 给某⼀一个版本打上标签 git tag : 查看所有的标签

- 2.需要将1.0版本的标签,push到服务器
git push origin weibo1.0
-
3.继续开发2.0版本
-
4.发现1.0版本有bug,从标签⾥里⾯面clone 1.0版本,从标签创建⼀一个fixbug分⽀支,在分 ⽀支中修复bug
git clone 共享版本库 git checkout weibo1.0(标签的名称) git checkout -b weibo1.1fixbug(分⽀支名称)
-
5.修复后的版本上传AppStore/将1.0fixbug进⾏行备份/将1.0fixbug版本和2.0版本 进⾏行合并\
git tag -a weibo1.1 -m “这个是修复了1.0版本bug的1.1版本” git tag git push origin weibo1.1 将⼦子分⽀支中代码合并到主分⽀支,pull—>weibo1.1fixbug—>push master—>其 它同事更新
-
6.删除分⽀支
git branch -r git branch -r -d 分⽀支名称
-
四.将代码托管到别⼈人的服务器⾥里⾯面
- 1.Github
- 创建Github上的仓库
- 1) HTTPS : http + SSL
- 2) SSH : 公钥和私钥—>settings—>SSH Keys—>⽣生成公钥和私钥
- 删除代码仓库
- 可以给别⼈人的代码提⽐比较功能/对别⼈人的代码重构:fork—>pull Request
- issues : 给框架作者提问题
- git SSH生成步骤(大神博客)
- 2.OSChina(Github上⾯面项⺫⽬目不能私有化:交钱可以)
- 创建代码仓库
- HTTPS/SSH
- .gitignore不够完整 : ⼿手动添加完成
- 如果项⺫⽬目想要多⼈人开发:管理—>成员管理—>添加成员:让新⼈人注册⼀一个 OSChina
- 1.Github
-
五.版本号,在任意版本之间穿梭
回到当前版本,放弃所有没有提交的修改
git reset --hard HEAD
回到上一个版本
git reset --hard HEAD^
回到之前第3个修订版本
git reset --hard HEAD~3
回到指定版本号的版本(某一版本号的前六位:e695b67)
git reset --hard e695b67
查看分支引用记录
git reflog
- 六.GIT命令行帮助
git help
查看git所有命令的帮助
git help 子命令
要退出帮助信息,按"q"
翻看下页,按"空格"
翻看上页,按"CTRL+B"
要搜索相关文字,按"/"然后输入"相关文字"