GIT
1.git是一款开源的分布式版本控制工具(最快、最简单、最流行)
2.其余版本控制工具:CVS、SVN(集中式、用的最多)、ClearCase(IBM收费)、VSS(微软)、Perforce(外企用的多、收费)
3.GIT与SVN比较:
-git速度远远比svn快
-svn是集中式 git是分布式管理
-svn使用分支比较笨拙 git能够轻松拥有无限个分支
-svn必须联网才能工做 git支持本地版本控制工做
-旧版本的svn会在每个目录放置一个svn git只会在根目录拥有一个git
4.(1)svn的工做原理
svn帐号->把整个项目的源码下载到本地checkout->UpDate将本地的源码更新至服务器上的最新版本->提交commit
(2)Git的工做原理
clone 到本地->commit到本地->pull到远程->push其余人获取新的数据->commit提交
5.本地git演示(终端)
(1)建立一个文件夹 用做本地代码的提交
(2)使该文件夹具备git功能
git init初始化本地文件夹
(3)拉取文件到该文件夹 这个时候该文件尚未归入版本管理
(4)查看当前文件夹内文件git的信息
git status
(5)untracked files提示 该文件没有归入版本追踪
(6)把文件归入管理 git add 文件名或者git add . 添加当前文件夹下全部的文件
(7)文件的状态发生改变 提示将要被提交到本地 文件已经放在暂存区
(8)提交文件到本地的数据库
git commit -m “ 评论”
(9)查看本地git提交的信息
git log
(10)设置git用户信息
git config “user.name” 用户名
git config “user.email” email
“s“+tab 补全文件信息
(11)当文件发生变化
提示已经被改变 modified
提交到本地服务器
git add .
git commit -m “ ”
简便写法 git commit -a -m “ 评论 (备注) ”
(12)查看当前文件和以前版本的区别
git diff 绿色部分为更改部分
(13)查看提交信息(查看全部版本号)
git log 或者 git reflog
(14)还原到某个版本
git reset --hard 版本号(7位)
版本号 git reflog
6.git远程操做
(1)创建了一个远程文件夹 至关于远程服务器
(2)又创建2个文件夹 模拟本地代码仓库
(3)初始化远程文件夹
git init --bare
建立完成以后 通常不须要进行额外的操做 用于本地同步代码仓库到远程服务器
(4)经理clone远程仓库到经理本地
(5)经理设置账号信息
(6)放置ignore文件 目的是有的文件不须要上传 配置信息能够从第三方获取 要改文件名 只留文件的后缀
(7)xcode文件添加进经理本地的git仓库
(8)push到远程服务器
7.分支 用来解决bug
(1)经理发现bug
(2)经理开新的分支
(3)经理提交bug400到本地和远程
(4)小王pull全部的代码和分支
(5)小王在bug400分支上进行代码修改
(6)小王提交bug400分支到本地和远程
(7)经理发现分支修改完成 要作合并分支的处理
(8)merge bug400 ->master提交给服务器
8.冲突
(1)经理在35行写了代码
(2)经理提交代码到本地和远程
(3)小王也在35行写了代码
(4)小王提交到本地
(5)小王push出现过时提示 pull
(6)pullXcode提示文件冲突
(7)小王修改文件冲突消失
(8)小王提交给本地 提交给远程服务器
(9)经理pull
9.sourceTree
相似于xcode 可是比xcode直观 功能强大
10.远程仓库托管
CSDN OSChina
建立账号-邀请员工加入到该项目中git
11.SSH具体查看网站的帮助文档数据库