Git:在收到后移动文件夹

时间:2016-05-18 20:15:44

标签: git shell ubuntu

是否可以在裸存储库中的后接收(或任何其他挂钩)中移动/重命名文件夹?

#!/bin/sh
mv /path/to/worktree/src /path/to/worktree/public

当我尝试推送到存储库时,我收到错误:

remote: mv: cannot stat `/path/to/worktree/src': No such file or directory

我确信该文件夹存在于我的本地分支中。

1 个答案:

答案 0 :(得分:2)

  

稍后在收到后我打电话给git --work-tree=/path/to/worktree/ --git-dir=/path/to/repo/ checkout -f master   所以,也许只是在紧接着调用mv之后。

正好:在实际工作树(/path/to/worktree/)中,而不是当前 bare repo 之后,。对文件的任何操作都需要在签出的仓库中完成而不是裸仓库。

另一种方法是push directly to a non-bare repo,但你的方法更安全(首先更新一个裸仓库,然后在其他地方结账/更新)。