Git和Visual Studio:如何使用远程回购?

Git和Visual Studio:如何使用远程回购?,git,visual-studio,Git,Visual Studio,我无法理解如何使用Git(和Visual Studio 2015)。 我在做什么: 将我的一个项目复制到新文件夹。在那里发起回购 复制回购协议 修改克隆的repo中的一个.cpp文件 阶段化并提交更改 获取错误信息: 无法推送到远程存储库。有关详细信息,请参阅输出窗口。 输出: 将分支发布到远程存储库时遇到错误:本地推送(尚未)支持推送到非裸回购。 经过一个多小时的谷歌搜索,我不知道该怎么办。 为什么我不能创建一个repo(将其视为“远程”),然后克隆(到任何考虑的“本地”repo),然后提交并

我无法理解如何使用Git(和Visual Studio 2015)。
我在做什么:

  • 将我的一个项目复制到新文件夹。在那里发起回购
  • 复制回购协议
  • 修改克隆的repo中的一个.cpp文件
  • 阶段化并提交更改
  • 获取错误信息:
  • 无法推送到远程存储库。有关详细信息,请参阅输出窗口。

    输出:
    将分支发布到远程存储库时遇到错误:本地推送(尚未)支持推送到非裸回购。

    经过一个多小时的谷歌搜索,我不知道该怎么办。
    为什么我不能创建一个repo(将其视为“远程”),然后克隆(到任何考虑的“本地”repo),然后提交并将新的本地更改推送到“远程”上

    简单地说,

    我只是试着用“远程”repo创建一个文件夹,用“本地”创建另一个文件夹,然后试着从“本地”推送到“远程”。这是一个错误的逻辑吗?

    该错误抱怨您当前使用的远程设备是一个非裸repo,即它有一个工作目录。我假设您希望在本地计算机上创建“备份”回购,例如在thumb驱动器或其他文件夹上

    最简单的解决方案可能是创建一个新的裸回购协议,并将其作为remot添加到您的工作回购协议中。例如,在H:external驱动器上的BackupRepos文件夹中,添加一个新的裸repo:

    git --bare init BackupRepo1.git
    
    这将在
    BackupRepo1.git
    文件夹中创建一个新的裸回购

    在您的工作repo中,添加
    BackupRepo1.git
    作为名为
    backup
    的远程备份:

    git remote add backup h:\backuprepo\bkprepo1.git
    

    您现在可以直接从工作回购推送到
    备份

    哪个VS版本?看起来像2015年?为什么远程回购有一个工作目录?Git本身阻止了这一点。较新版本允许您推送此类回购,允许“推送发布”scenarios@VladimirBershov你想干什么?为什么远程存储库有一个工作目录?对于git部署场景,您可以将远程服务器配置为接受推送。如果你试图推送同事的回购协议,尽管你应该重新考虑——推送会删除任何本地的回购协议changes@VladimirBershov您是否尝试推送到本地“部署”存储库中包含您要发送给其他人的代码?@PanagiotisKanavos我只是尝试用“远程”repo创建一个文件夹,用“本地”创建另一个文件夹,并尝试从本地推送到远程OK,如果我还需要将此“远程repo”共享给其他几个开发人员,该怎么办。简单地说,这是一种正确的方式,为一组开发人员创建这样一个“远程回购”(例如在网络驱动器上或仅在共享文件夹中)来处理一个项目吗?或者正确的方法完全不同?就Git而言,所有回购协议都是平等的。如果你想将其中一种称为“根”回购,那完全取决于你。如果根repo较小且用户较少,则可以使用文件服务器保存根repo。更好的选择是将Git作为服务运行-这样,客户端和repo之间只交换差异数据。Git服务器,如Gitlab、Gitorious或。。。TFS Express甚至更好。您还可以将托管的git repo用作主“根”repo或作为站点备份的一部分。有很多在线git提供商,如Github TFS online和Atlassian,都提供私人回购。公共回购是免费的