在Git克隆后自动运行任务,而不使用Git挂钩

在Git克隆后自动运行任务,而不使用Git挂钩,git,bash,terminal,Git,Bash,Terminal,在终端内部运行git clone..repo..后,是否可以自动运行.bash脚本?起初,我想在签出后挂钩内运行命令,如rm-rf.git和composer install,但该文件只能在本地使用。那么还有其他选择吗 那么,您希望对repo进行配置,以便当有人克隆它时,它会立即返回并删除除工作树之外的所有内容(使其不再是repo的克隆)?不,git没有办法做到这一点 如果您只是想自动化这些步骤,因为您有一些常见的用例(可能是不寻常的部署机制?),那么您可以编写一个包装器脚本来代替git clon

在终端内部运行
git clone..repo..
后,是否可以自动运行.bash脚本?起初,我想在签出后挂钩内运行命令,如
rm-rf.git
composer install
,但该文件只能在本地使用。那么还有其他选择吗

那么,您希望对repo进行配置,以便当有人克隆它时,它会立即返回并删除除工作树之外的所有内容(使其不再是repo的克隆)?不,
git
没有办法做到这一点

如果您只是想自动化这些步骤,因为您有一些常见的用例(可能是不寻常的部署机制?),那么您可以编写一个包装器脚本来代替
git clone
命令运行


但是如果你真的想让git clone命令本身触发它,那是不可能的。(这也没什么用;但这不关我的事。)

那么,您想配置一个repo,当有人克隆它时,它会立即返回并删除除工作树以外的所有内容(使它不再是repo的克隆)?不,
git
没有办法做到这一点

如果您只是想自动化这些步骤,因为您有一些常见的用例(可能是不寻常的部署机制?),那么您可以编写一个包装器脚本来代替
git clone
命令运行

但是如果你真的想让git clone命令本身触发它,那是不可能的。(这也没用;但这不关我的事。)

任何带有签出的新克隆(不带
-n
-mirror
-bare
)将触发
~/global\u hooks/post checkout
,并且
将删除git
。但是这不是一个好主意,因为您必须为不同的克隆启用和禁用钩子。此外,每个用户都需要进行配置,所以有点烦人

更糟糕的是,在不禁用或覆盖全局钩子的情况下在存储库中进行git签出将删除其
.git
。所以这只是为了好玩,但一点也不实用

任何带有签出的新克隆(不带
-n
-mirror
-bare
)将触发
~/global\u hooks/post checkout
,并且
将删除git
。但是这不是一个好主意,因为您必须为不同的克隆启用和禁用钩子。此外,每个用户都需要进行配置,所以有点烦人


更糟糕的是,在不禁用或覆盖全局钩子的情况下在存储库中进行git签出将删除其
.git
。因此,这只是为了好玩,但根本不实用。

如果不是本地运行,您希望它运行在哪里?它必须在本地运行,但我不希望为每个克隆项目的用户手动创建一个文件。如果不是本地运行,您希望它运行在哪里?它必须在本地运行,但我不希望为每个克隆项目的用户手动创建一个文件项目
mkdir ~/global_hooks
#create and edit the post-checkout inside
echo '#!/bin/bash' >> ~/global_hooks/post-checkout
echo 'rm -rf .git' >> ~/global_hooks/post-checkout
#...
chmod 755 ~/global_hooks/post-checkout
git config --global core.hooksPath ~/global_hooks/