如何在VS 2013中将本地Git回购与服务器回购同步?
我刚刚在VS2013中创建了一个新项目,并选择Git选项将其添加到源代码管理中。这在解决方案的根目录中创建了预期的hidden.git文件夹,项目现在显示符号,指示它受源代码管理 我现在想把整个新的解决方案推到另一个目录,最终成为共享回购。我在VS中得到了一条有用的消息,告诉我,要发布我对远程回购的最新承诺,我需要同步。我选择了这个选项,并收到一条消息说“VisualStudio(目前)无法发布到非裸回购” 我已经在目标回购中外部运行了如何在VS 2013中将本地Git回购与服务器回购同步?,git,visual-studio,Git,Visual Studio,我刚刚在VS2013中创建了一个新项目,并选择Git选项将其添加到源代码管理中。这在解决方案的根目录中创建了预期的hidden.git文件夹,项目现在显示符号,指示它受源代码管理 我现在想把整个新的解决方案推到另一个目录,最终成为共享回购。我在VS中得到了一条有用的消息,告诉我,要发布我对远程回购的最新承诺,我需要同步。我选择了这个选项,并收到一条消息说“VisualStudio(目前)无法发布到非裸回购” 我已经在目标回购中外部运行了git init,我认为VS会将其视为一个空回购,但事实似乎
git init
,我认为VS会将其视为一个空回购,但事实似乎并非如此。这确实是一个次要问题。我的主要问题是,同步选项现在在VS中变灰,尽管它声称同步失败。我所做的一切似乎都无法收回选择权
有人能发现我做错了什么,并希望告诉我如何“修复”这个问题吗?另外,如果有人知道任何关于Git如何在VS中工作的好文档,我很想听听。在设置远程存储库时,应该使用
--bare
标志创建它
git init --bare <directory>
git init——裸
,这很好阅读,但我假设VisualStudio只是将远程存储库视为另一个存储库,不知道如何在未创建为裸机时推送到它
来自《大西洋》的文章:
将--bare
视为将存储库标记为存储设施的一种方法,
反对发展环境。这意味着
所有Git工作流,中央存储库都是空的,开发人员
本地存储库是非裸的
谢谢你。我将不得不从源代码管理中删除整个内容,然后重新开始,因为这是我迄今为止找到的恢复灰显同步选项的唯一方法。@Patrick如果您只是删除远程副本,重新创建一个裸repo,然后重新同步您现有的本地repo,您应该保留您的整个历史记录,而不会丢失任何内容。