git的介绍
与SVN相比,是分布式的版本管理系统.
.git 文件夹是隐藏的,需要执行 defaults write com.apple.finder AppleShowAllFiles -bool true,重启finder才能显示出来
git的本地版本管理
理解git三块存储区的概念:工作区,暂存区,对象存储区.
- 我们的项目文件夹即是工作区,提交的过程,是先将修改的文件放到暂存区、再从暂存区移动到存储区
git本地提交操作:工作区与git放在统计目录下.
- 第一步初始化一个仓库
- 第二配置用户名和用户邮箱
- 将文件添加到暂存区
- 将文件提交到对象存储区
git init //初始化一个本地git代码仓库
git confit user.name //配置用户名
git config user.email //配置用户邮箱
git status //查看 git 工作区和暂存区 文件状态
git add . //将文件从工作区移到暂存区
git diff //比较当前版本和之前版本的区别
git commit -m "注释文字" //将文件从暂存区提交到代码区,完成一次版本提交
版本回滚操作:
- git 的每一次操作,都会被一个 hash 值标记,根据某次操作的 hash 值,可能回滚到某个版本。
git log //查看截止到当前版本的历史记录
git reset --hard HEAD^ //将代码回滚到之前版本
git reflog //查看所有操作过的历史记录
多人协作开发
需要添加 .gitignore 文件
每种语言开发都有需要用到的.gitignore学会如何添加
git init --bare //建立一个git服务器代码仓库
git status //查看 git 工作区和暂存区 文件状态
git add . //将文件从工作区移到暂存区
git commit -m "注释文字" //将文件从暂存区提交到代码区,完成一次版本提交
git clone <服务器地址> //建立一个git服务器代码仓库
git pull //把将服务器的最新版本拉取到本地,并合并代码,类似 svn 的 update
git push //把本地版本库提交到服务器,类似 svn 的 commit
git config --global push.default simple/maching //默认simple,只提交当前分支
养成先commit在pull,最后push的好习惯
tag标签管理
对版本进行标记和描述方便查找.
git tag –a 1.0 –m “name” //添加新标签
git tag //查看所有tag
git tag -n // 查看所有 tag,带注释
git checkout 1.0 //切换到某一标签版本
git show 1.0 //查看某个标签及其对应版本的详细信息
git tag -d 1.0 //删除一个版本
git push origin 1.0 //将版本推送到服务器
分支管理
理解git中分支的概念,特点:相互独立,不受影响,分支和分支之间可以合并
git branch //查看当前分支
git branch -a //查看所有分支
git checkou -b dev //创建一个分支 dev, 并切换到该分支
git push origin dev //在本地创建一个分支
git checkout master //切换到分支 master
git branch -D dev //删除本地 dev 分支
git git push origin :dev //删除远程 dev 分支
git merge dev //将 dev分支合并到当前分支
分支中的暂存功能.
Xcode git工具
- xcode 自动集成了 git 图形化管理,xcode 自动会自动将生成的文件添加到暂存区,我们可以直接commit;
source tree经常使用的工具
sourceTree是一款第三方的图形化git版本管理工具,将git命令行工具换成了可视化工具.
放弃修改某个文件
reset 上次提交的版本