前言
做iOS开发将近三年了, 版本控制Git
和SVN
都有所涉猎, SVN使用的一团糟糕稀里糊涂, 这里不谈, 今天的主角是Git
, 之前一直都多使用的是Source Tree
这个工具, 对命令少有涉及, 这次详细了解下, 以作记录.
安装
Xcode
安装,Xcode
偏好设置中找到Downloads
,选择“Command Line Tools
,点击Install
就可以完成安装了- 使用
Homebrew
安装, 没有安装Homebrew
的同学请戳Homebrew安装
输入git version
命令查看是否安装成功, 成功显示如下:
常用命令
git help
老规矩先介绍help
命令, 如果你忘记某个命令的作用, git help
命令会是你最得力的助手, 比如在控制台输入git help status
, 结果如下:
git config
顾名思义, git config
是用于修改git
配置的
git config --local
: 修改当前仓库的配置 读取的配置文件在当前项目目录中.git/config
git config --global
: 修改全局的配置, 配置文件目录 ~/.gitconfig
git config --system
: 修改系统的配置, 配置文件目录为``
涵盖范围 system
> global
> local
, 缺省时默认为local
.
git config --local --list
:查看当前项目的配置
git config --global --list
: 查看全局的配置
git config --local user.name "username"
: 更改本地仓库的名字
git config --local user.email "emailaddress@xxx.com"
: 更改本地仓库的邮箱
git init
该命令把当前目录变成git可以管理的仓库.
git
仓库已经建立好了, 我们可以先创建一个
README.md
文件.
echo "# Project-test" >> READMME.md
改echo
命令是向指定文件README.md
输入文本.
git add
git add
命令是用于将文件添加到仓库. git add *
添加所有的已改动文件到仓库
git checkout`
git checkout
命令用于放弃更改
git commit
git commit
命令用于把文件提交到仓库.
git commit -m "msg"
: -m
后添加的是本次提交的说明, 方便于之后从历史记录里找到记录. 更加详细的使用说明: git commit --help
:
git commit -a -m "msg"
: -a
提交所有的文件
git rm
git rm
命令用于删除文件,同时还会将这个删除操作记录下来
git status
git status
: 该命令用于查看文件的状态
git status -s
: 查看文件的简写状态
M - 被修改,A - 被添加,D - 被删除,R - 重命名,?? - 未被跟踪
git diff
顾名思义, git diff
命令, 用于查看文件具体修改了什么
git log
git log
命令用于显示提交的提示记录,排序时间由近及远.
git reflog
git reflog
命令用于查看最近的历史操作记录.
git reset
git reset
命令用于回退版本,我们可以使用上面的git log
命令查看我们想要回退的版本, HEAD
表示的是当前版本,上一个版本可以使用HEAD~
表示, 上上个版本是HEAD~~
,回退N个版本可以使用HEAD~N
.
现在我们执行会退到上一个版本: