2013-03-26 102 views
2

我有一個過時的回購沒有添加在我的機器上。我想從github中獲得最新的穩定分支。如何用github上的一個覆蓋我的本地回購?

我應該克隆它嗎?我不確定。

+1

只需克隆到不同的目錄,並在您確定不需要任何內容​​時清理舊的目錄。 – Mat 2013-03-26 18:56:43

+2

刪除您的本地並重新克隆。 – meagar 2013-03-26 18:57:37

回答

3

我想你應該能夠做的所有文件讀取,然後重置他們的起源:

git fetch --all 
git reset --hard origin/master 

你也許可以做到這一點在任何順序了。

如果你想刪除已添加未跟蹤任何文件,做一個乾淨太:

git clean -f 

的優勢,這種方法在克隆到一個新的目錄,你仍然會保留一些的歷史/ reflog。如果你絕對不關心這些數據,那麼任何一種方法都可以。

+0

運行'git reset --hard'之前,請確保在'master'分支(即'git checkout master')上) – Tuxdude 2013-03-26 19:30:02

0

只需git pull --all應該得到最新的東西。

1

我同意Matt'smeagar's的建議,但是覺得我應該根據以前在Git項目中使用rm命令的經驗來補充一點。

如果您完全確定您不希望將包含回購的目錄中的任何內容保留在文件夾正上方的級別,以便您可以使用git rm將其刪除。我發現使用git rm只是比使用普通打擊rm命令更加簡潔。 從之前的一個inscidident中,我只是刪除了暫存分支目錄中的一個文件,但我知道這樣做會導致整個分支不能正常工作,因爲它沒有記錄在記錄中,如果我嘗試了git commit它會輸出「分支是最新的」。假陽性。

因爲你希望將這些文件作爲接近擦拭,不留殘餘,難以察覺,或幾乎檢測不到大塊的元數據我會說一個遞歸強制拆除此處將合理的。即,如果該文件夾被稱爲MyRepo,只需

git rm -rf MyRepo

那麼就仔細檢查什麼我要做的只是cd MyRepo,顯然並不期待一個錯誤,因爲該文件夾shoudln」再也不存在了。

然後,繼續克隆您的GitHub託管版本,與以前一樣,或者您感覺舒服的任何地方,然後執行您平常的操作。

相關問題