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

来源:互联网 发布:网上订餐系统java简历 编辑:程序博客网 时间:2024/05/02 01:01

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

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

0 0
原创粉丝点击