1
我的git倉庫(編輯過的文件來自「main」倉庫)出錯了,我不得不使用「git push -f」來強制我的「主」倉庫接受我的本地修訂。我回到我的遠程主存儲庫,並做了一個git狀態。Git:爲什麼我看到以前承諾的更改?
我看到要提交的更改是舊的,並不反映我實際的本地存儲庫狀態(推入-f)。所以,如果我在main上做了一個git commit,它可以正常工作,但是這兩個版本庫不同。
的情況下不了決心,因爲一個新的標準混帳推顯示了一個錯誤:
! [rejected] master -> master (non-fast-forward)
怎麼可以這樣解決,使我的主要回購協議具有相同的內容,我的本地副本?
我以前是一個顛覆用戶,並沒有太多的經驗與混帳,這就是爲什麼我犯了這個錯誤。問題是我創建了一個遠程倉庫,這是我的主要倉庫,從我的git init代碼副本中獲得。你認爲我應該重新創建我的遠程服務器中的存儲庫嗎?讓它成爲一個裸露的?順便說一句,一個裸機如何工作?它有一個跟蹤文件更改的內部數據庫,但不允許直接編輯它們? – Spyros 2011-04-02 18:52:43
一個「裸倉庫」是你在svn中簡單地調用一個倉庫的東西 - 也就是坐在服務器上的東西(當然太簡單了)。非基礎倉庫用於您的工作副本(但在git中它們也包含整個歷史記錄)。 – 2011-04-02 18:58:55
如果您現在擁有本地存儲庫中的所有代碼(包括所有修訂版本),則可以使用'git clone --bare'(如果您可以從那裏訪問本地存儲庫)重新創建您的「主要」代碼。否則,執行一個新的'git init --bare',然後使用你本地的'git push'。 – 2011-04-02 19:02:12