服务器上的裸机和非裸机回购

时间:2019-02-21 16:04:22

标签: git git-push git-pull git-remote

我想跟踪存储在服务器上的目录和文件。最初的想法是在服务器上建立一个裸存储库,然后从本地计算机(存储非裸存储库的本地计算机)进行推/拉。问题在于服务器上必须存在更新的文件。

最初,我专注于在服务器上设置非裸仓库并从裸仓库中拉出,但是每次从本地计算机进行推送时,都需要有人git pull。我的问题是:是否可以以允许我对本地计算机上的代码进行更改,推送这些更改并将其自动保存到服务器的方式来设置裸机和非裸机回购协议。如果需要服务器端的非裸仓库,是否可以阻止从其推送?

1 个答案:

答案 0 :(得分:2)

不是必须在服务器上手动使用git pull,而是可以使用server-side hooks?这可以用来以某种方式触发对服务器上非裸仓库的拉动。

帖子接收挂钩可能类似于

#!/bin/bash

unset GIT_DIR
git -C /path/to/non/bare/repo pull

如果您可以承受服务器端非裸存储库更新的延迟,另一种选择是使用cron-job定期从裸存储库中拉出。