2011-08-14 41 views
0

场景:Git:origin分支不会删除我从克隆分支中删除的文件。

我有一个远程git仓库克隆到我的本地工作目录。

当我在克隆回购(主分支)我的工作,

  1. 我删除的test.html,($ git的RM test.html的
  2. 然后提交更改($混帐提交-m “去掉测试文件”
  3. 最后推到远程回购(主)($ GIT中推

但是,我导航到浏览器中的页面:http:// [website] /test.html,页面仍显示。 看来test.html还没有被删除。我非常肯定,我已经在本地克隆分支中删除了它,已经提交并推送了它。

我做错了什么或缺少任何步骤?

谢谢先进!

回答

2

推送到远程位置时,它将更新存储库,但不会更新结帐。如果你想更新结账,你必须写一个post-receive钩子来做这件事。

0

你所做的一切似乎都是正确的。这个过程中的第4步将转到您的Web服务器,并从远程回购(主)进行混帐。

一个简单的检查方法是在网络服务器和本地机器上运行show-ref HEAD。如果两者都是最新的,sha1应该是相同的。

0

(这是一个除了bcurren的答案。我没有评论权限,因此新的答案)

你要明白,有三个仓库在这里打球。首先是本地机器上的本地回购,其次是远程回购(向您推送更改)。第三是您的网络服务器的回购。

从概念上讲,本地计算机和Web服务器上的回购就像客户端回购远程回购。所以一旦对远程仓库进行了推送,就必须在Web服务器上进行抽取以获得最新的提交(在你的情况下包括删除文件test.html)。

+0

确定吗?在我看来,第二和第三个回购是相同的。这可能不是一个好主意,但我认为这就是OP所具有的。 – svick

+0

考虑到推送对web服务器没有任何影响,我推断这里有3个回购。我还假设他没有和多个分支玩,并忘记推动他所犯的分支。 – brahmana