2017-07-26 13 views
0

端末内にgit clone ..repo..を実行した後で.bashスクリプトを自動的に実行できますか?最初はrm -rf .gitcomposer installのようなコマンドをポストチェックアウトフックの中で実行したかったのですが、このファイルはローカルでしか使用できませんでした。だから、これを行うための他のオプションはありますか?Gitクローンの後でGitフックを使用しないで自動的にタスクを実行

+0

ローカルでない場合は、どこで実行しますか? – ElpieKay

+0

ローカルで実行する必要がありますが、プロジェクトをクローンしているすべてのユーザーに対して、手作業でファイルを作成するのではありません。 – CodeWhisperer

答えて

2
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/ 

-nまたは--mirrorまたは--bareなし)チェックアウトして、任意の新しいクローン~/global_hooks/post-checkoutをトリガすると.gitが削除されます。しかし、これはいい考えではありません。異なるクローンのフックを有効にしたり無効にしなければならないからです。しかも、すべてのユーザーが設定を行う必要があるので、少し面倒です。

さらに悪いことに、グローバルフックを無効にしたり無効にしたりせずにリポジトリ内のgit-checkoutを実行すると、.gitが削除されます。だから、これは単なる楽しいものですが、実用的ではありません。

1

だから、誰かがそれをクローンすると直ちに変わり、作業ツリー以外のすべてを削除して(もはやリポジトリのクローンにならないように)レポを構成したいのですか?いいえ、gitにはその方法がありません。

頻繁に使用するケースがあるため、これらのステップを自動化したい場合は、git cloneコマンドの代わりに実行するラッパースクリプトを作成します。

しかし、これは文字通りgit cloneコマンド自体によってトリガーされた場合、これは不可能です。 (これも有用ではありません。それは私のビジネスのどれも。)

関連する問題