[英]How to undo init in a cloned git repository
我有一個從遠程主機克隆的git存儲庫。 我錯誤地對本地克隆副本執行了初始化操作,這很糟糕。 因此,它現在是git和git remote等的全新倉庫,它並沒有顯示與遠程來源的任何連接。 如何“隱蔽”或再次告訴它它的遠程起源是/曾經是?
在現有存儲庫中運行git init
不會產生任何危害。 該文件說:
在現有存儲庫中運行
git init
是安全的。 它不會覆蓋已經存在的內容。 重新運行git init
主要原因是選擇新添加的模板(如果給定了--separate-git-dir
則將存儲庫移至另一個位置)。
如您所說,至少它不會刪除遙控器。 您可能在子目錄中運行了git init
,並在其中創建了一個新的存儲庫。 在這種情況下, git
在該子目錄中創建了一個隱藏的.git/
文件夾。 找到並刪除它。
如果不是這種情況,並且克隆的存儲庫受到某種程度的影響,則有一種簡單的修復方法。 將原始倉庫添加為遠程倉庫,然后再次從中獲取所有提交。
git remote add origin url-of-the-repo-you-cloned-before
git fetch origin
現在,您的存儲庫包含遠程存儲庫中存在的所有提交。 接下來的操作取決於您發現提交消失之前的操作。 運行git status
來決定。 如果您位於正確的分支上,則可以繼續工作並在某個時候提交。 如果您不在所需的分支上(或者根本不在分支上),則可以嘗試git checkout
您所需的分支。 如果它不起作用是因為它將替換您修改的文件並且沒有提交,則您必須存儲更改,簽出新分支並從存儲中彈出更改( git stash
, git checkout correct-branch
, git stash pop
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.