date: 2015-01-07 21:53 status: public title: ‘Git 命令记录’ tags: git —

从git管理中删除

git rm –cached –force app/app/app.iml

修改提交用户名和email

git commit –amend –author=’Your Name you@example.com

批量修改修改所有commit的Author邮箱

git filter-branch –env-filter ‘export GIT_AUTHOR_EMAIL=new_author_email’ – git filter-branch –env-filter ‘export GIT_AUTHOR_NAME=new_author_name’ –

除了GIT_AUTHOR_EMAIL, 还有GIT_AUTHOR_NAME, GIT_COMMITTER_EMAIL, GIT_COMMITTER_NAME等参数可以修改.

git 批量修改author

git filter-branch -f –env-filter “GIT_AUTHOR_NAME=’usename’; GIT_AUTHOR_EMAIL=’email’;” HEAD

输入amend命令重置用户信息

git commit –amend –reset-author

git status显示中文和解决中文乱码

git config –global core.quotepath false

自定义版本号

$ git tag v0.1 dfb02 push不上去,提示unpacker error

使用带参数的git push –no-thin命令成功。 –[no-]thin These options are passed to git-send-pack(1). A thin transfer significantly reduces the amount of sent data when the sender and receiver share many of the same objects in common. The default is –thin.

打patch

通常打patch 的流程:

  1. $ git am PATCH 如果有冲突不能直接合入需要继续执行下面的操作
  2. $ git apply PATCH –reject (注:会在有冲突的文件目录下面生成相应的.rej文件)
  3. $ edit edit dit (注:根据.rej文件手动解决所有冲突,即参照.rej文件手动修改冲突的文件)
  4. $ git add FIXED_FILES
  5. $ git am –resolved

带目录参数 –directory=***

指定合入patch 的目录 git am 0001-app-add-camera-filter.patch –directory=packages/apps/SnapdragonCamera/

-k 参数

git am -k *.patch 会保留patch 中形如[] 括号和括号内的信息,比如[BugFix]Fix NPE,不带-k 参数的话打入patch 后commit message 只有Fix NPE。