我有一个要在其中推送更改的存储库。我想将两个存储库:./pages.git同步到./pages。我在开发机器上的git设置会推送到pages.git中。但是该Web应用程序可以使用./pages。
git clone pages.git pages
fatal: destination path 'pages' already exists and is not an empty directory.
Run Code Online (Sandbox Code Playgroud)
好了,现在我删除pages目录,并且git clone可以了。但这不是干净的解决方案,不是吗?
有什么方法可以不必手动删除pages目录吗?我想使该过程自动化,以便git在我按下时自动执行操作。
最好,马吕斯
为什么不只为存储库创建一个接收后钩子,该钩子将在pages.git存储库内执行一个操作以git pull获取pages更改?git clone旨在每个生成的克隆仅运行一次(因此为什么它会抱怨直到删除前一个克隆),而git pull旨在在每次要使用另一个更改进行更新的存储库时重复运行。
对于特定的存储库,我有一个与此基本相同的钩子设置,这是其要点:
cd /var/repos/path_to_mirror || exit
unset GIT_DIR
git pull origin master
Run Code Online (Sandbox Code Playgroud)
path_to_mirror相当于pages您的情况。pages.git/.git/hooks/post-receive文件中。