Git push - “一切都是最新的” - 但工作树文件不会更新。该怎么办?

时间:2013-04-12 06:58:30

标签: git githooks

1)我在prime上有remote server host个回购邮件。

2)我在bare上有remote server host个回购。

3)我的clone of the bare上有一个工作树的local computer仓库,而裸机在本地仓库中设置为远程。

有时,我们的共享主机工作人员直接添加了一些文件(没有暂存),而没有使用常规过程“git add and commit” - 结果:

我们经常做git push,它说:“一切都是最新的”(真的是因为裸体得到更新)但是素数没有,因此,working tree文件不存在。

我需要一些东西(钩子,cronjob?),这样当裸露与素数不同时,必须使用最新的裸文件更新素数。

我们可以使用钩子或cronjob来强制这种行为吗?

我们有什么选择?

如果有人有耐心,我可以聊天。

请建议。

2 个答案:

答案 0 :(得分:0)

为了做到这一点,我建议在你的裸仓库上设置一个接收后挂钩:

git --git-dir=/path/to/prime/.git --work-tree=/path/to/prime pull bare

(此处无需“cd”,因为您指定git其中是repo目录和工作树。

如果主要仓库有一个名为“bare”的遥控器。

cd /path/to/prime
git remote add bare /path/to/bare.git

答案 1 :(得分:0)

您可以创建远程跟踪分支。它不会自动更新您的本地树,但它会告诉您远程在本地仓库之前提交了多少次。 创建远程跟踪分支

git branch --track [新分支名称] [远程分支名称]