2009-11-09 38 views
2

我已經在linux服務器上安裝了一個git倉庫,並且在我的Windows 7筆記本電腦上安裝了最新的MSysGit和TortoiseGit。 我可以通過TortoiseGit從遠程存儲庫中提取數據,我也可以將&推送到遠程存儲庫。 如果我在遠程服務器上運行「git log」,它可以正確顯示最新的註釋。但遠程服務器中缺少新文件。請提出建議。非常感謝。tortoisegit推送成功,但沒有新文件?

回答

4

強烈建議您永遠不要推送到*非*裸倉庫。相反,你應該創建一個裸倉庫,它是遠程倉庫的一個副本。筆記本電腦將推送到裸倉庫,然後遠程存儲庫將從012裸露的拉。

如果您推送到非裸倉庫,您遲早會意外失去工作。

+1

這是爲什麼?與SVN如果我明白總是推動。您只需在進行推送前更新。你爲什麼「遲早會意外失去工作」。 – 2010-05-17 12:37:15

+0

AFAIK github你必須推動。一旦你把東西推到它上面,它不再是裸露的嗎?我實際上不明白爲什麼我可以反覆推送到github而不是我的本地存儲庫。 – 2010-05-17 18:06:57

+0

@ acidzombie24:首先,SVN和Git的工作方式不同,不存在「非裸」SVN存儲庫。其次,Github存儲庫始終被視爲「裸露」。在Git術語中,「裸」存儲庫是一個*沒有工作副本*的存儲庫。這並不意味着它是空的。 – 2010-05-17 20:49:55

1

該索引已被更新,但不是工作區。要更新工作區,請使用git reset。如果您有未提交的修改,請確保提交它們,git stash它們,或者如果您不介意丟失它們,請使用git reset --hard

編輯:可能是一個有爭議的問題到現在,但它看起來像git reset本身是不夠的 - 使用git reset --hard

相關問題