Git使用指南(二):常用命令

注:目录(文件夹)的处理方式(递归处理其子文件)与文件雷同,下文将它们合称为文件。

1.3 Git基础

工作目录、暂存区域以及 Git 仓库.

2.2 提交更新到仓库

文件的状态变化周期

查看文件状态

// 输出较为详细的信息
$ git status

// 使用-s(或--short)选项来输出简略信息
$ git status -s
?? untracked.readme     // 未跟踪的新文件
A  staged.txt           // 已暂存的新文件
 M modified.c           // 右M:已修改、未暂存
M  modified.cpp         // 左M:已修改、已暂存
MM Modified.java        // 修改并暂存后,又有新修改但未暂存

添加文件

// 开始跟踪新文件 或 把已跟踪的(且又有新改动的)文件放到暂存区。
$ git add README

// add还能用于合并时把有冲突的文件标记为已解决状态等

浏览已暂存和未暂存的修改

// 未暂存的修改:工作目录 VS 暂存区
$ git diff

// 已暂存的修改:暂存区 VS 仓库(最后一次提交的版本)
$ git diff --staged    // 或 --cached

提交更新

// 注意:这行指令只提交暂存区的文件更新到,工作目录的不受影响。
// -m选项后面跟的是本次提交的阐述信息
$ git commit -m "新增xxx功能"

// 把工作目录中已跟踪的文件先暂存然后一并提交
$ git commit -a -m '修复某bug'

移动文件

$ git mv file_from file_to

删除文件

// 把文件从工作目录、暂存区删除并取消追踪。下次提交后会更新到仓库。
// 注意:通配符“*”之前要加“\”,留给Git用自身的比shell更佳的方法来扩展文件名。
$ git rm log/\*.log

// 如果文件已修改过(与仓库里的相比)并放入暂存区,
// 则需加上-f选项来强制删除(由于未提交到仓库,Git将无法恢复该文件)。
$ git rm -f README

// 把文件从暂存区删除并取消追踪,但在工作目录中保留。
$ git rm --cached README

2.3 浏览提交历史

// 基本命令
$ git log

// 以下为常用的选项:
// -p   用补丁来显示每次提交的文件变化
// -(n) 显示最近的n次提交,例如-2
// --stat 简单显示每个文件增删了多少行
// --shortstat 只显示--stat的最后一行:共有m个文件改动,共增删了n行
// --pretty 可以用来指定显示格式,比如:
//     --pretty=oneline 仅用一行来显示每次提交
//     --pretty=format:"%h - %an, %cd : %s" 指定自定义格式:
//         %h 简短的提交哈希字符串(相当于提交操作的ID)
//         %an 作者姓名
//         %cd 提交日期
//         %s (提交时写的)标题,比如“新增xxx功能”
// --graph 添加某些字符来形象地展示分支、合并历史
// --merges 筛选出合并分支的提交
// --since=<date> 查看指定时间之后的提交,例如--since="2016-3-5"
// --after=<date> 同上
// --until, --before 查看指定时间之前的提交
// -S<string> 仅显示增删了string的提交,
//     比如用-SonCreate查看那些改动过onCreate方法的提交
// --author=name 查看作者为name的提交
// --grep=<pattern> 仅显示标题含有pattern关键字的提交
// --all-match 若要使author与grep或者多个grep交叉过滤(交集),
//     需加上此选项,否则会显示能匹配任一条件的结果(并集)。

参考资料:
1、《ProGit》第二版
http://git-scm.com/book/en/v2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值