2011-08-14 159 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