利用git hook每次commit时执行一些其它操作。

说一下需求,我本地有一个修改文件不想提交,每次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操作了。

本文感谢

 @深圳+Geek_Soledad  
的帮助。

文章为原创,转载请标注出处:利用git hook每次commit时执行一些其它操作。_分享+记录-CSDN博客

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

失落夏天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值