learn-git-the-super-hard-way
  • 基础知识
  • 第0章:创建工作环境
  • 第1章:直接操纵对象
  • 第2章:直接操纵引用
  • 第3章:直接操纵索引
  • 第4章:直接操纵HEAD
  • 第5章:直接操纵远程
  • 第6章:直接操纵merge
  • 第7章:直接操纵commit
  • 第8章:检索与查看历史
  • 第9章:邪恶的submodule
  • 第10章:批处理与自动化
  • 第11章:配置和alias
  • 第12章:单repo多分支工作流
  • 第13章:GPG签名
  • 第14章:数据的导入和导出
  • 第15章:数据抢修与急救
  • 总结/cheatsheet
  • 索引/Roadmap
由 GitBook 提供支持
在本页
  • Git批处理
  • 自动化debug
  • 在特定情况下执行特定脚本:hooks
  • 自动处理CRLF/LF
  • 自动处理行尾/文件末尾空格

这有帮助吗?

第10章:批处理与自动化

以下命令只需知道其存在,到了真正需要用到的时候再查询其帮助也不迟。

Git批处理

一些复杂的Git操作需要利用xargs。而Git提供了一些化简的办法。

  • git for-each-ref - 对每个引用进行处理(比git show-ref更灵活)

  • git filter-branch - 对每个commit进行处理(比git rebase更灵活)

  • git submodule foreach --recursive - 对每个submodule进行处理

自动化debug

  • git bisect - 二分查找法定位bug位于哪个commit

在特定情况下执行特定脚本:hooks

  • vim .git/hooks/pre-commit - 在commit前做检查

  • vim .git/hooks/commit-msg - 自动撰写commit message

  • vim .git/hooks/pre-push - 在push前做检查

  • vim .git/hooks/...

自动处理CRLF/LF

  • git config --global core.autocrlf true|false|input

自动处理行尾/文件末尾空格

  • git stripspace

  • git config --global core.whitespace ...

上一页第9章:邪恶的submodule下一页第11章:配置和alias

最后更新于4年前

这有帮助吗?