2011-12-08 41 views
2

我是一個負責管理我們公司網站的IT部門,最近建議他們設置版本控制。我已閱讀所有教程,並聽說過其他人的版本最佳工作流程,但是,我從一個簡單的設置開始,直到我可以使這個簡單的工作流操作。Git在推/拉後默默無力

問題:設置完成後,推拉工作正常(即沒有出現錯誤),但實際上我看不到在本地計算機或服務器上顯示的更改。

  1. 我開始做一個git init到/ var/www /文件夾。
  2. 然後,我通過SSH將遠程存儲庫克隆到本地計算機。

    此時,來自我的服務器的文件顯示在我的本地存儲庫中,沒有問題。

  3. 在我的本地機器上,我增加了一個分支叫「發展」

  4. 添加文本到HTML文檔的我的本地機器上的一個新行回購。
  5. 在開發分支上分階段提交HTML文檔。
  6. 推送到服務器。

    此時,更改不顯示。

  7. 在服務器上的主分支上,我添加了一行到html文件,這是一個隨機混亂的文本。

  8. 上演並承諾改變。
  9. 在我的本地機器上,我從遠程存儲庫上的主分支中取出。

再次,沒有錯誤。但這些變化並沒有顯示出來。服務器上和本地計算機上的文件反映了原始內容以及我在每個文件上所做的相應更改。

+1

你是否在遠程機器上使用'git init'或'git init --bare'? – Jan

+0

它讓你推到一個非裸倉庫? – Cascabel

+0

Plain初始化。 - 我看起來並不正確。 –

回答

1

當你進入遠程倉庫時,它只會更新倉庫的數據 - 這些文件不會被檢出/更新。你可以通過添加一個運行git checkout -f的post-receive鉤子來解決這個問題。

+0

謝謝@mipadi我只是看着這個gitbook文檔。那麼我會在腳本中使用「git checkout -f」將.sh文件添加到/ hooks文件夾中? –

+0

@ajkochanowicz [這是關於這種方法的一種方法](http://toroid.org/ams/git-website-howto)。有一段時間沒有更新,我沒有嘗試過,但試試看。 –