Git Cookie

1 前言

一些关于 git 的小知识。用于git问题收集。

2 Rewrite History

git filter-branch --commit-filter '
       if [ "$GIT_AUTHOR_EMAIL" = "schacon@localhost" ];
       then
               GIT_AUTHOR_NAME="Scott Chacon";
               GIT_AUTHOR_EMAIL="schacon@example.com";
               git commit-tree "$@";
       else
               git commit-tree "$@";
       fi' HEAD

3 Delete git submodles

http://yuguo.us/weblog/git-submodule/

$ git rm --cached [path]
# 编辑.gitmodules文件,将子模块的相关配置节点删除掉
# 编辑.git/config文件,将子模块的相关配置节点删除掉[这一步好像很不科学,为什么信息要保存两份?]
# 手动删除子模块残留的目录

4 Update Index

这个命令可以让git不跟踪指定文件,但同时可以继续保存在项目中。有点类似于 .gitignore 的作用。

$ git update-index --assume-unchanged FILE_NAME
$ git update-index --no-assume-unchanged FILE_NAME

Junjia Ni

2015-12-27

2016-11-10 Thu 13:03

Emacs 25.1.1 (Org mode 9.0)

2016-10-23 Sun 23:09