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

时间:2011-08-14 17:37:50

标签: git

情景:

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

当我在克隆仓库(主分公司)工作时,

  1. 我删除了test.html,( $ git rm test.html
  2. 然后提交更改( $ git commit -m“删除测试文件”
  3. 最后推送到远程仓库(主机)( $ git push
  4. 但是,我导航到浏览器中的页面:http:// [website] /test.html,页面仍显示。 似乎test.html尚未被删除。我很确定我已经在本地克隆分支中删除了它,已提交并推送。

    我做错了什么或错过任何一步?

    先谢谢你了!

3 个答案:

答案 0 :(得分:2)

当推送到远程位置时,它将更新存储库但不会更新结帐。如果你想更新结账,你必须写一个post-receive hook。

答案 1 :(得分:0)

你正在做的一切似乎都是对的。这个过程中的第4步是转到你的web服务器并从远程仓库(master)中获取git。

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

答案 2 :(得分:0)

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

您必须了解这里有三个存储库。首先是本地计算机上的本地存储库,第二个是远程存储库(推送更改)。第三个是网络服务器上的回购。

从概念上讲,本地计算机和Web服务器上的存储库就像是远程存储库的客户端存储库。因此,一旦推送到远程仓库,就必须在Web服务器上进行拉取以获取最新的提交(在您的情况下包括删除文件test.html)。