将当前代码推送到现有的GitHub存储库

8
我有几个Visual Studio解决方案,既有本地存储库,也有GitHub上的存储库。我已经进行了许多更改,并成功将这些更改推送到GitHub。
但是现在Visual Studio忘记了我的一个本地存储库与GitHub存储库相关联,我似乎无法弄清如何重新连接它。实际上,它不再在我的GitHub存储库列表中列出该存储库。
在下面的图像中,您可以看到我有一个名为Toxic的本地存储库,但是该存储库未出现在GitHub存储库列表中。如果我尝试将Toxic项目发布到GitHub,它只会告诉我该存储库已经存在。

enter image description here

如何让我所有现有的Github存储库显示在上面的顶部区域,以便我可以推送最新更改?

你可以备份损坏的本地仓库,克隆远程仓库,然后将所有更改的文件从损坏的本地仓库复制粘贴到新克隆的仓库中,只要不替换“.git”文件夹。唯一的缺点是所有更改将被视为一个大提交。 - SinOfficial
是的,我一直在考虑那个问题。虽然不是最理想的选择,但也许是我能做到的最好的选择了。 - Jonathan Wood
是的,但首先我会尝试修复当前的存储库。您能否使用“git remote add origin [url]”链接远程存储库?或者尝试这个链接:“https://dev59.com/7mMl5IYBdhLWcg3wHjxO”。 - SinOfficial
在存储库文件夹中,您可以运行 git remote -v 命令,并添加输出结果。 - Tarun Lalwani
尝试安装Git并在有毒文件夹所在的位置使用Git Bash。 - Tarun Lalwani
显示剩余5条评论
3个回答

5

看起来唯一的选择是在本地克隆GitHub存储库,将我的修改文件复制到新创建的存储库中,然后检入我的更改。

首先尝试:

  • 安装Git for Windows(命令行)
  • 在新文件夹中克隆您的远程存储库
  • 将现有存储库添加为远程存储库
  • 获取并查看是否可以挑选您的提交

也就是说:

 git clone https://github.com/<user>/<repo> newFolder
 cd newFolder
 git remote add old ../path/to/old/local/repo
 git fetch old
 git log old/master
 git cherry-pick old-sha1..old/master

(其中old-sha1是您想要回退的第一个提交)
然后在Visual Studio工作区中添加newFolder,查看是否一切正常(进行修改、添加、提交和推送)。

3
除非我漏掉了什么,否则似乎唯一的选项是在本地克隆GitHub存储库,将我的修改文件复制到新创建的存储库中,然后检查我的更改。当然,自上次提交到GitHub以来,我失去了所有的评论和迭代。需要注意不要删除.git文件夹,并复制所有已更改的文件并删除已删除的文件。看起来应该有更简单的方法,但这肯定能解决问题。

0

我不是 Git 专家,但我认为我可能能够帮忙,如果还不算太晚的话。

运行:

git remote -v

这应该以某种形式打印出东西:

origin  <remote_repo_url> (fetch)
origin  <remote_repo_url> (push)

如果你只看到:

origin  (fetch)
origin  (push)

尝试运行:

git remote set-url origin <remote_repo_url>

如果你没有输出结果,则运行:

git remote add origin <remote_repo_url>

然后尝试

git push -u origin

-u--set-upstream 标志将把 origin 设置为您的分支的默认仓库。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接