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