如何在克隆的git存储库中撤消init

时间:2017-10-03 05:47:08

标签: git init

我有一个从远程主服务器克隆的git存储库。我错误地在本地克隆的副本上运行init,我的不好。因此,它现在是一个全新的git和git remote等仓库,当然不会显示与远程原点的任何连接。我如何'重新'或再次告诉它它的远程起源是什么?

1 个答案:

答案 0 :(得分:3)

在现有存储库中运行git init不会产生任何伤害。 documentation说:

  

在现有存储库中运行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

现在,您的repo包含远程存储库中存在的所有提交。你接下来做什么取决于你发现提交失败之前你做了什么。运行git status来决定。如果您在正确的分支上,那么您可以继续工作并在某个时候提交。如果您不在您想要的分支上(或者您根本不在分支机构),那么您可以尝试git checkout您需要的分支。如果它不起作用,因为它会替换您修改但未提交的文件,那么您必须存储更改,签出新分支并从存储中弹出更改(git stash,{ {3}},git checkout correct-branch)。