在没有SVN服务器的时候,我们需要git来管理我们的代码。
SVN是集中式版本控制,git是分布式版本控制。git管理的代码的所有版本既可以保存到服务器也可以保存到本地。当有需要的时候我们才提交到服务器
git命令行
1.创建一个仓库
2.初始化项目 随便添加几个文件
3.提交项目到版本控制
4.git commit -m '标识'
5.配置git的邮箱地址和用户名
工作原理:
stage:暂缓区 master:主干
提交的时候要把新文件提交到暂缓区(git add .:是添加到暂缓区),然后再添加到master
git init:创建一个仓库
touch liangsen.h:创建一个.h文件
git commit -m “说明”:提交
git reflog:显示全部版本, 记录了所有的版本,想到哪个版本就到哪个版本
:下载某个版本
git Status:查看状态
git reset --hard HEAD@{1}:回到某个版本状态
git rm liangsen.h:删除某个文件
git config:配置局部账户
最漂亮的日志:
要做到这样,命令行如下:
git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --
这样有点长了,我们可以这样:
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
git branch
.m文件显示绿色就代表可以提交了。
git 的版本号 31c42e8fb9a1d7c3007bffc7af352d7d4ba8dffb MD5编码后字符串
修改文件之后再提交
修改文件也要把文件先添加到暂缓区里面
版本回退
git reset --hard HEAD^ 回到当前版本 git reset --hard 版本号(可以指定返回的版本号)
删除
git rm 文件名
配置用户名分全局的和局部的
局部:仅针对本项目才有效
日志格式
分支:
git branch:查看所有分支
git branch v1:查看指定分支/创建分支
git checkout v1:切换到分支
git checkout master:切换到根目录
git branch -d v1(版本号):删除分支
git 有图形化管理工具
cat .git/config:看配置
在Xcode中Source control中可以commit,也可以查看history