iOS:Git分布式版本控制器系统
Git的使用
1、Git简介:
Git是一个开源的分布式版本控制系统。与SVN、CVS相比
分布式
不需要中心仓库
Git的版本号都是生成的一个哈希值,比如:bbaf6fb5060b4875b18ff9ff637ce118256d6f20
性能
分支与合并是比较简单
对比快
存储空间少
2、Git的作用:
可以利用它来追踪项目中的文件
可以和合作伙伴共享版本历史状态
可以将合作伙伴的工作和你的工作进行合并
可以对整个工程或某些文件跟历史版本进行比较或者恢复到早期的某个版本。
3、Git术语:
Repository 包括本地库和远程库
Pull / Push / Checkout / Fetch :上传、获取
Branch:分支
Merge:合并
Conflict:冲突
Commit:提交
Revert:恢复
Working Directory:工作目录
4、远程库(左图)和本地库(右图)截图如下:
5、Git一些常用命令:
获得仓库 获取信息
git init git help
git clone git status
git diff
提交 git log
git add git show(显示改动情况)
git commit
6、Git命令的备忘流程:
7、Git的工作流程:
建立本地工作目录(init,clone)
与远程仓库同步(pull,fetch)
修改文件
查看变更(show,status)
载入变更(add or –a)
提交载入的变更(commit)
重复
上传(push)
8、第一个Git库:
告诉Git你是谁
git config –global user.name “xucons”
git config –global user.email “xucons@gmail.com”
创建一个库:git init
克隆一个库:git clone git://git.kernel.org/scm/git/git.git
9、远程仓库操作:
git clone <仓库地址>
git remote –v 列出所有远程仓库
git push <仓库名> <分支名> 推送本地分支更新到远程仓库
git fetch 从远程仓库获取更新
git pull 从远程仓库获取更新并merge本地分支
10、Pull与Fetch区别:
git fetch:相当于是从远程获取最新版本到本地,不会自动merge
git pull:相当于是从远程获取最新版本并merge到本地,相当于git fetch 和 git merge
在实际使用中,git fetch更安全一些。因为在merge前,我们可以查看更新情况,然后再决定是否合并
11、Git文件的状态变化图:
12、常用文件操作命令:
git status 查看文件状态
git add <file> 跟踪新文件或暂存已修改文件
git diff 查看文件变化
git commit –m <msg> 提交更新
git rm file 移除文件
git log 查看提交日志
git commit –ammend 修改最后一次提交
git reset HEAD <file> 取消已暂存文件
git checkout -- <file> 取消文件修改
13、查看历史版本:
可以通过git log 命令来查看历史版本的提交
git log的操作都是本地操作,基本都能瞬间完成,比SVN快很多,查看历史版本或进行diff比较都非常方便
也可以通过git revert操作来回退到历史版本
14、revert和reset:
reset
将当前的工作目录完全回滚到指定的版本号
revert
还原一个版本的修改,必须提供一个具体的Git版本号,例如'git revert bbaf6fb5060b4875b18ff9ff637ce118256d6f20'
区别
reset是指将当前head的内容重置,不会留任何痕迹。
revert是撤销某次提交,但是这次撤销也会作为一次提交进行保存。
15、Rebase:
nrebase命令执行后,实际上是将分支点从C移到了G,这样分支也就具有了从C到G的功能
16、分支与标记:
分支
创建分支
git branch <name>
git branch <name> <commit-id>
删除分支
git branch -d <name>
查看分支
git branch
git branch -r” //remote branch
转动某一分支
git checkout <commit-id>
git checkout -b <name> <commit-id>
分支合并
git merge <name> //合并指定的分支到当前分支
标记
标记只是一个方便人识别某次提交的一个标签
git tag <tag-name>
17、GitHub介绍:
GitHub是一个基于web与git的托管项目服务,你可以这里托管你的代码。
18、xcode7 git没法用,在终端输入如下命令即可:
git config --global user.email your@email.com
git config --global user.name @"your name"
19、总结:
Git是一个很棒的工具进行协作
难以在短时间内精通,需要在日常使用中不断学习,,,,,
程序猿神奇的手,每时每刻,这双手都在改变着世界的交互方式!