R Studio - 克隆本地存储库
R Studio - Cloning local repository
我想在我们的服务器上创建一个主存储库,我可以从中将本地版本克隆到我的计算机上。
我正在使用 R Studio v0.98.994。
到目前为止,这是我尝试过的:
为主存储库创建一个文件夹。我在 R studio 中使用 'new project' 执行此操作,并告诉它创建一个 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 的新手,所以这很可能是 'read the instructions' 问题之一,在这种情况下,我很抱歉 - 有人可以指点我一些对这种情况的指导?我花了大半天的时间在谷歌上搜索这个错误,但还没有把所有的部分拼凑起来:(我也很抱歉;这感觉不是一个非常可重现的问题。
听起来您正在使用 Windows Git,在本地 Windows 机器(C: 驱动器)和某种服务器上安装,安装为 S : 驾驶。执行此操作时,您应该注意一些事项。
共享存储库
如果您打算让多人共享同一个存储库,您需要启动一个共享 存储库。有关详细信息,请参阅 git-init 中的 --shared 选项。请注意,我不确定将您的存储库放在 Windows 机器上会如何影响共享选项。如果您只是想将您的存储库保存在两个地方,那会让事情变得容易得多。
裸存储库
与共享的讨论分开的是裸存储库的讨论。如果您不打算在服务器中使用文件(即它只是一个推送更改以便安全存储它们的地方),您可以初始化一个 裸存储库 。裸存储库包含 Git 的数据库结构,但目录中没有实际文件。
标准 Git 存储库是一个目录,其中包含一个名为 .git
的隐藏文件夹。此 .git
文件夹包含 Git 用于跟踪更改的所有各种数据结构。裸存储库本质上是一个仅包含 .git
.
内容的文件夹
裸存储库的好处是没有人可以在存储库本身中工作(因为没有工作目录,只有数据库)。这意味着没有人可以登录到 S: 并自己编辑存储库。相反,他们必须克隆存储库,然后将他们的更改推送回源。 GitGuys 有一篇很好的文章解释了为什么这是理想的。
请注意,共享存储库和裸存储库既不依赖也不互斥。作为一般做法,如果您有一个 "server repo" 从中拉出并向其中推入,则无论项目是否共享,都应该将其裸露。
非共享工作流程
由于不清楚你是在分享还是不分享,而且你在 Windows 环境中,从分享的角度我不知道,我会给你一个简单的例子。使用 git-bash,您应该能够将目录更改为 S 上的任何位置:您拥有自己的存储库。然后,使用 git init
和上面 link 描述的 bare 选项来初始化一个 bare 存储库。导航到您希望存储库位于 C: 上的位置,然后执行 git clone
以获得工作副本。
添加 README 文件或其他文件,以便您可以进行初始提交,然后提交并执行 git push origin master
以将您的更改推送到 S: 存储库。完成所有这些后,然后初始化 RStudio Git 项目。 RStudio 应该遵从您现有的配置,并且 希望 工作。
我想在我们的服务器上创建一个主存储库,我可以从中将本地版本克隆到我的计算机上。
我正在使用 R Studio v0.98.994。
到目前为止,这是我尝试过的:
为主存储库创建一个文件夹。我在 R studio 中使用 'new project' 执行此操作,并告诉它创建一个 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 的新手,所以这很可能是 'read the instructions' 问题之一,在这种情况下,我很抱歉 - 有人可以指点我一些对这种情况的指导?我花了大半天的时间在谷歌上搜索这个错误,但还没有把所有的部分拼凑起来:(我也很抱歉;这感觉不是一个非常可重现的问题。
听起来您正在使用 Windows Git,在本地 Windows 机器(C: 驱动器)和某种服务器上安装,安装为 S : 驾驶。执行此操作时,您应该注意一些事项。
共享存储库
如果您打算让多人共享同一个存储库,您需要启动一个共享 存储库。有关详细信息,请参阅 git-init 中的 --shared 选项。请注意,我不确定将您的存储库放在 Windows 机器上会如何影响共享选项。如果您只是想将您的存储库保存在两个地方,那会让事情变得容易得多。
裸存储库
与共享的讨论分开的是裸存储库的讨论。如果您不打算在服务器中使用文件(即它只是一个推送更改以便安全存储它们的地方),您可以初始化一个 裸存储库 。裸存储库包含 Git 的数据库结构,但目录中没有实际文件。
标准 Git 存储库是一个目录,其中包含一个名为 .git
的隐藏文件夹。此 .git
文件夹包含 Git 用于跟踪更改的所有各种数据结构。裸存储库本质上是一个仅包含 .git
.
裸存储库的好处是没有人可以在存储库本身中工作(因为没有工作目录,只有数据库)。这意味着没有人可以登录到 S: 并自己编辑存储库。相反,他们必须克隆存储库,然后将他们的更改推送回源。 GitGuys 有一篇很好的文章解释了为什么这是理想的。
请注意,共享存储库和裸存储库既不依赖也不互斥。作为一般做法,如果您有一个 "server repo" 从中拉出并向其中推入,则无论项目是否共享,都应该将其裸露。
非共享工作流程
由于不清楚你是在分享还是不分享,而且你在 Windows 环境中,从分享的角度我不知道,我会给你一个简单的例子。使用 git-bash,您应该能够将目录更改为 S 上的任何位置:您拥有自己的存储库。然后,使用 git init
和上面 link 描述的 bare 选项来初始化一个 bare 存储库。导航到您希望存储库位于 C: 上的位置,然后执行 git clone
以获得工作副本。
添加 README 文件或其他文件,以便您可以进行初始提交,然后提交并执行 git push origin master
以将您的更改推送到 S: 存储库。完成所有这些后,然后初始化 RStudio Git 项目。 RStudio 应该遵从您现有的配置,并且 希望 工作。