@
如何用git生成一个文件目录树
因为Git-Bash中不支持tree命令,所有需要给Window平台下Git-Bash添加tree命令
下载 tree 命令的二进制包,安装 tree 命令工具;
- 打开进入 Tree for Windows 页面,选择下载
Binaries zip文件; - 解压压缩包,找到压缩包内的 bin 目录,将 bin 目录下的 tree.exe 复制;
- 找到
C:\Program FilesGitusrin目录,将tree.exe粘贴到该目录下,安装即完成;
测试 tree 命令
- 进入
Git-Bash,输入tree -L 1命令,如果安装成功,命令可以正常执行。
tree -L 5 -I "node_modules|dist|dist.zip" >tree.txt将目录结构导出
常用指令
tree -d 只显示文件夹;
tree -L n 显示项目的层级。n表示层级数。比如想要显示项目三层结构,可以用tree -l 3;
tree -I pattern 用于过滤不想要显示的文件或者文件夹。比如你想要过滤项目中的node_modules文件夹,可以使用tree -I "node_modules",过滤多个用 | 隔开 ,比如 tree -I "node_modules|dist"
tree > tree.md 将项目结构输出到tree.md这个文件。
目录结构显示
├── README.md 项目描述
├── app 业务侧代码
│ ├── controller 与路由关联的api方法
│ └── modal 数据模型
├── app.js 入口文件
├── bin nodemon
│ ├── run nodemon 的入口文件
│ └── www
├── config 配置文件
│ ├── dbConfig.js 数据库配置
│ ├── logConfig.js 日志配置
│ └── serverConfig.js 服务配置
├── logs 日志目录
│ ├── error 错误日志
│ └── response 普通响应日志 (还可以继续拆分,系统日志,业务日志)
├── middleware 中间件
│ └── loggers.js 日志中间件
├── public
│ └── stylesheets 公用文件
├── routes 路由
│ ├── allRoute.js 总路由配置
│ ├── files.js 各个模块路由配置
│ ├── index.js
│ └── users.js
├── uploads 上传文件夹
│ └── 2017-8-29
├── utils 公用方法
│ ├── logUtil.js
│ └── mkdir.js
├── views 页面层
│ ├── error.jade
│ ├── index.jade
│ └── layout.jade
└── package.json
tree 目录生成命令
tree -L 3 -I "node_modules"
Git如何打印出指定格式log
输出指定格式的日志信息
git log --graph --after="1 week ago" --oneline --date=format:'%Y-%m-%d %H:%M:%S' --pretty=format:'%Cred%h%Creset - %Cgreen(%ad) %C(yellow)%d%Creset %s ' --abbrev-commit

--graph 图像化显示日志操作
--after="1 week ago" 显示一周前的日志信息
--after="2018-12-3" --before="2018-12-7" 获取该时间段内的日志信息
--oneline 日志信息显示在一行
--author="tom" 筛选出作者提交的日志
--date=format:'%Y-%m-%d %H:%M:%S' 设置日期显示格式
--pretty=format: 设置日志显示格式
%h 提交对象的简短哈希字串
%ad 作者修订日期(可以用-date= 选项定制格式)
%ar 作者修订日期,按多久以前的方式显示
%s 提交说明
%Cred 切换到红色
%Cgreen 切换到绿色
%Cblue 切换到蓝色
%Creset 重设颜色
-- >f:/work/worklog/log.log 将文件导出到指定文件
将日志导出到指定目录
git log --graph --after="1 week ago" --oneline --date=format:'%Y-%m-%d %H:%M:%S' --pretty=format:'%Cred%h%Creset - %Cgreen(%ad) %C(yellow)%d%Creset %s ' --abbrev-commit -- >f:/work/worklog/log.log
给命令设置别名
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打印退出命令
按 q 退出打印
参考 https://blog.csdn.net/liangxiaozhang/article/details/7903861