2014-09-22 100 views
1

這次我搞砸了。撤銷克隆到本地的遠程分支

基本上,我在離線時做了一些關於整個新項目的工作。現在我回到了網上,我想把它放在git中。運行git init告訴我,我已經有一個在該位置的現有回購(雖然我不記得那樣做),但沒有改變提交(我意識到現在的文件可能只是沒有跟蹤)。

我最終做的是在GitHub上創建一個新的私人回購站,然後將其克隆到我的本地回購站。我天真地認爲,這將使我能夠add,commitpush我本地更改爲遠程。

但是,它只是用空的遙控器取代了我的本地回購,因此刪除了所有本地文件。我有一些在我的編輯器中打開的文件,所以我可以簡單地保存所做的更改,但是我必須拼湊出缺少的東西。

現在,這是一個遠射,但有沒有辦法解決這個混亂?

+0

首先,用'git的init'你總是可以做'ADD'和'COMMIT' ,因爲它們是本地的。爲了遠程,你只能做'PUSH'。當你已經有一個repo時,你可以創建你的遠程,但不是克隆(連接它們),你只需要做一個'git remote add'。爲了將來的需要記住這一點。在你的特定問題上,如果文件真的被刪除,也許硬盤文件恢復工具可以提供幫助。 – Lovato 2014-09-22 12:41:12

+0

@Lovato Yup。我知道這一切,但我遭受了嚴重的腦部放屁案。這不是什麼大問題,我只是簡單地重新創建。謝謝。 :) – Nix 2014-09-22 12:53:16

+0

大聲笑。祝你好運。 – Lovato 2014-09-22 13:03:20

回答

0

我想知道如何(使用哪個工具或命令)克隆現有本地目錄中的新存儲庫。由於該本地目錄是一個已經初始化的Git倉庫,無論是以某種方式刪除並重新創建它,然後它可能無法恢復任何內容,或者您​​實際上只添加了一個新的遠程並使用新分支更新了工作目錄,放棄了一些提交,強制歷史重寫或類似的東西。在這後一種情況,那麼你或許可以找回丟失的與git fsck --lost-found承諾,然後選擇使用git refloggit showgit cherry-pick ...

+0

正如在OP中所解釋的那樣,運行'git init'告訴我我已經有了一個本地repo,但是我無法執行我的更改。我認爲他們根本沒有跟蹤,即使它認識到文件已經改變。我也無法添加遠程('git remote add origin https:// github.com/TheNix/myawesomeproject.git')或推送任何內容(不提交,請記住?)。然後,我只需點擊Github提供的便捷「桌面設置」按鈕即可。這將啓動他們自己的應用程序,這不明的魔法它警告我現有的文件可能會被覆蓋,但我沒想到它會刪除所有其他文件。 – Nix 2014-09-24 21:39:16

+0

沒有提交。好的,對不起。所以它已經死了。沒有運氣。 – 2014-09-25 00:19:06