利用git hook每次commit时执行一些其它操作。
来源:互联网 发布:初唐网络 编辑:程序博客网 时间:2024/06/06 20:10
说一下需求,我本地有一个修改文件不想提交,每次commit都需要reset这个文件一下。很是麻烦,所以想利用git hook的预操作功能来实现自动reset的操作。
1。首先是git hook的目录路径。其中android_1是我的git工程目录。
2.这里有很多.sample文件。sample文件只是样例,取消了后缀.sample之后才是生效的。每个文件都有对应的执行触发点,具体就不细说了,我这里使用的触发点是commit命令生效之前,也就是pre-commit。
3.复制prr-commit文件,重命名去掉后缀.sample。文件方式进行编辑,清掉里面所有内容,添加如下内容
#!/bin/sh
echo "before commit show status"
echo "reset the CtripApplication file"
git reset xx.java
#这里的xx.java文件指的想要被reset掉的文件路径。
#echo指数输出状态语句,没有实际作用。
最后保存
4.最后测试一下效果
.
如图所示,我有两个已经add的文件,commit提交之前根据打出的日志,提示已经reset掉了XXActivity.java,然后执行commit。
最后git status显示效果,
提交生成生效,xxActivity.java被reset掉,只提交了xxFragmentV2.java生成commit.
5.总结,
这个功能虽然好像,但是好像也造成了一些问题,那就是需要频繁的gc。这个问题后续在想办法解决。不过简单的解决方法也容易,那就直接吧git gc命令加到
post-commit里面。这样就会每次自动执行gc操作了。
本文感谢
文章为原创,转载请标注出处:http://blog.csdn.net/rzleilei/article/details/51612017
- 利用git hook每次commit时执行一些其它操作。
- git commit的一些操作
- Git Commit前取消add 操作(利用git reset操作)
- Git 执行更改 git commit
- Git撤销Commit操作
- git撤销commit操作
- Go:git gofmt pre-commit hook
- git hook之prepare-commit-msg
- TortoiseSVN 提交时 hook 的 post-commit.bat 不执行的解决方法
- TortoiseSVN 提交时 hook 的 post-commit.bat 不执行的解决方法
- git commit -am 合并操作
- iOS git commit 提交操作
- 版本管理-git未commit前,执行rm -r操作后想恢复文件
- svn hook的post-commit不执行咋办?
- git中如何将已commit的代码commit到其它分支
- 统计git仓库一些commit数据
- 在Hiberate事务中,出现抛异常或者其它原因导致没有执行commit或rollback方法时的安全问题
- Git:误操作commit之后怎么办?
- PHP排序详解
- Python爬虫实战(2):爬取京东商品列表
- 26. Remove Duplicates from Sorted Array
- mysql 5.7 安装问题
- 2.URL
- 利用git hook每次commit时执行一些其它操作。
- Collections sort 实体类排序
- RecyclerView超简单demo(局部更新取代ListView)
- Android异步任务AsyncTask使用详解
- 118. Pascal's Triangle
- mysql 查询表结构SQL
- ceph crushrule多种配置例子
- javascript基础
- linphone初始化研究(图片源自网络)