R Studio - 克隆本地存储库

时间:2015-03-16 17:12:40

标签: r git rstudio

我想在我们的服务器上创建一个主存储库,我可以从中将本地版本克隆到我的计算机上。

我正在使用R Studio v0.98.994。

到目前为止,这是我尝试过的:

为主存储库创建一个文件夹。我使用' new project'在R studio中,告诉它创建一个git存储库。

然后,我可以打开另一个位于我的C驱动器上的新项目,并使用R studio进行克隆,告诉它打开现有项目并将URL设置为主项目的位置。

然而,当我进行更改并提交到我的本地存储库(工作正常)时,我无法推送到主存储库,我得到的错误完全如此问题中所述:git push fails: `refusing to update checked out branch: refs/heads/master`

所以R Studio似乎创建了非裸存储库?

现在我想,好吧,我会使用git bash来初始化存储库,然后连接到R studio中的那个。

我这样做了,但是无法找到在R Studio中使用该存储库的方法。

我对Git很新,所以完全有可能这是其中一个'阅读说明'问题,在这种情况下,我很抱歉 - 有人可能会指出我对这种情况的指导吗?我花了半天时间在谷歌上搜索这个错误并且还没有设法将这些错误集合起来:(我也道歉;这并不是一个非常可重复的问题。

1 个答案:

答案 0 :(得分:3)

听起来你正在使用Windows Git,在本地Windows机器(C:驱动器)和某种类型的服务器上安装,作为S:驱动器安装。在执行此操作时,您应该注意一些事项。

共享存储库

如果您打算让多个人共享同一个存储库,则需要启动共享存储库。有关详细信息,请参阅git-init中的--shared选项。请注意,我不确定Windows计算机上的存储库如何影响共享选项。如果您只是想将存储库保存在两个位置,那么事情会变得更加容易。

Bare Repositories

与共享的讨论分开是对裸存储库的讨论。如果您不打算使用服务器中的文件(即它只是一个推送更改以便安全存储的地方),您可以初始化裸存储库。裸存储库包含Git的数据库结构,但目录中没有实际文件。

标准Git存储库是一个名为.git的隐藏文件夹的目录。此.git文件夹包含Git用于跟踪更改的所有各种数据结构。裸存储库本质上是一个仅包含.git

内容的文件夹

裸存储库的好处是没有人可以在存储库本身工作(因为没有工作目录,只有数据库)。这意味着没有人可以登录S:并自己编辑存储库。相反,他们必须克隆存储库,然后将其更改推送回原点。 GitGuys有一篇很好的文章说明为什么这是理想的。

请注意,共享repos和裸repos不依赖或互斥。作为一般惯例,如果您有一个服务器回购"无论项目是否被共享,你都应该从中拉出并推动它,无论项目是否共享。

非共享工作流程

由于目前尚不清楚您是在分享还是没有共享,而且您处于Windows环境中,而我从共享的角度来看并不知道,我要去给你一个简单的例子。使用git-bash,您应该能够将目录更改为S上的任何位置:您拥有自己的存储库。然后,使用git init和上面链接所描述的裸选项来初始化裸存储库。导航到您希望存储库存放在C:上的位置,然后执行git clone以获取工作副本。

添加README文件或其他内容,以便您可以进行初始提交,然后提交并执行git push origin master将更改推送到S:存储库。完成所有操作后,即可初始化RStudio Git项目。 RStudio应该遵循您现有的配置,并且希望希望工作。