gpt4 book ai didi

git/gitolite : moving repos after setting up gitolite

转载 作者:太空狗 更新时间:2023-10-29 13:11:23 27 4
gpt4 key购买 nike

我正处于让 Git 和 Gitolite 工作的最后阶段。这是目前的情况:

enter image description here

最佳答案

Gitolite 管理下的存储库没有工作副本。所以你要做的是创建另一个带有工作副本的存储库,提交数据并将它们推送到 gitolite 管理的存储库。最简单的方法是直接在服务器上执行此操作。因此,在每个 www 目录下,执行:

cd /home/X/www
git init
git remote add origin /home/gitolite/repositories/X.git
git add .
git commit
git push origin

现在您在存储库中有了数据,这是比较容易的部分。我假设同一个用户帐户可以访问 gitolite 存储库和服务器数据(如您在聊天中所说),这使问题变得容易得多。

现在存储库没有备用,因此您有两个数据副本。要删除它们,可能最简单的方法是为每个站点执行以下操作:

cd /home/X
git clone -s /home/gitolite/repositories/X.git www.new
mv www www.old
mv www.new www
rm -r www.old

(克隆的 -s 选项确保 /home/X/www/.git 存储库不会从 /home/gitolite/复制数据存储库/X.git)。最后你必须安装一个钩子(Hook)。 this question 中已经解释过了,但你的情况稍微容易一些。由于数据位于同一台服务器和同一用户下,您可以简单地在所有包含以下内容的 gitolite 存储库中安装一个更新后 Hook :

#!/bin/sh
cd /home/X/www
git pull

如果您想将存储库和 Web 服务器移动到单独的服务器(我建议这样做,因为如果 Web 服务器朝外,则应该位于“非军事区”,而 git 服务器则更好在另一道防火墙后面的内部网络中),您当然需要其他问题中描述的 ssh 触发器。

关于git/gitolite : moving repos after setting up gitolite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7060636/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com