簡體   English   中英

如何在克隆的git存儲庫中撤消init

[英]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 stashgit checkout correct-branchgit stash pop )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM