Shell脚本在结帐后自动执行

时间:2013-09-17 15:46:24

标签: git shell

我甚至不确定这是否可行但是在对git做了一些研究之后我真的无法解决这个问题,所以我想为什么不用stackoverflow?

假设我有shell脚本或者使其更具体,一旦用户从git结账,我就会执行以下命令:

"MachineName":~/MyStuff/SpecificFolder# find myfolder -type f
-print0 | xargs -0 chmod 664

我的目标是将它作为shell脚本,以便在结帐后执行。我知道git维护文件权限,但是当你切换分支时我最终看到了一些奇怪的行为。所以我想创建一个shell脚本,文件权限始终保持不变。

2 个答案:

答案 0 :(得分:2)

Git支持hooks

您可以添加一个post-commit钩子脚本,它可以执行您想要的操作。

将您的脚本post-checkout添加到.git / hooks。

答案 1 :(得分:1)

如何为git ckeckout创建一个执行其后操作的函数呢?

git_checkout ()
{
    git checkout $1
    find myfolder -type f -print0 | xargs -0 chmod 664
}

如果您将其存储在~/.bashrc中,那么只要您想结帐,就可以执行git_checkout <new_branch>并执行这两项操作。