如何挂钩git子模块?

时间:2015-09-14 14:13:08

标签: git git-submodules

我在登台服务器上安装了一个钩子,让我可以非常轻松地进行升级。但是,该代码包含一个子模块,由于访问权限,该子模块不会被复制。

这是我正在使用的收件后挂钩:

#!/bin/sh
GIT_WORK_TREE=/home/www/staging git checkout -f
pwd
cd /home/www/staging/
git --git-dir=/home/git/staging.git --work-tree=/home/www/staging submodule update --init --recursive

尝试git push staging后,我得到以下内容:

remote: /home/git/staging.git
remote: Cloning into 'MEW'...
remote: Host key verification failed.
remote: fatal: Could not read from remote repository.
remote: 
remote: Please make sure you have the correct access rights
remote: and the repository exists.
remote: Clone of 'git@bitbucket.org:demo/demo-mew.git' into submodule path 'MEW' failed

我是否需要在登台服务器上创建证书并将其添加到bitbucket?

1 个答案:

答案 0 :(得分:0)

在收件后挂钩

#!/bin/sh
GIT_WORK_TREE=/home/www/staging git checkout -f
pwd
  

将dir更改为根文件夹

     

指定工作树和目录

     

子模块更新init

cd /home/www/
git --git-dir=<path to git dir>.git --work-tree=<path to submodule> submodule update --init --recursive

我希望这会有所帮助 如果这不起作用,请告诉我 感谢