如何连接到远程Git存储库?

时间:2013-11-29 18:43:33

标签: git repository git-remote

我正在与团队合作,我们想要使用Git(不使用GitHub,我们有一台私人远程机器)。到目前为止我们一直在使用SVN。 我们有一台远程机器,就像一个SVN存储库。 现在,我们想将这台机器变成Git中央存储库。 根据我的阅读,每个人在他们的机器上需要做的是安装Git并使用以下命令添加远程主存储库:

git remote add origin <remote_repo_url>

remote_repo_url是什么?我怎么能搞清楚? 我们的远程机器有像189.14.666.666这样的IP,在远程机器上我安装了Git并在C:\ MY_GIT_REPOSITORY下创建了一个存储库。我应该把什么放在本地机器的URL中?

5 个答案:

答案 0 :(得分:24)

这很简单,按照小步骤继续:

  • 在远程服务器上安装git,说一些ec2实例
  • 现在创建一个项目文件夹`$ mkdir project.git
  • $cd project and execute $git init --bare

假设这个project.git文件夹出现在您的IP地址home_folder/workspace/project.git内,forex- ec2 - /home/ubuntu/workspace/project.git

现在在你的本地机器上,$cd进入要推送到git的项目文件夹,执行以下命令:

  • git init .

  • git remote add origin username@189.14.666.666:/home/ubuntu/workspace/project.git

  • git add .
  • git commit -m "Initial commit"

下面是一个可选命令,但发现它已被建议,因为我正在设置同样的事情

  

git config --global remote.origin.receivepack“git receive-pack”

  • git pull origin master
  • git push origin master

这应该可以正常工作,并将本地代码推送到远程git存储库。

要检查远程抓取网址cd project_folder/.gitcat config,这将使远程网址用于拉取和推送操作。

您还可以使用其他方法,在git上创建project.git文件夹后,克隆项目并将整个内容复制到该文件夹​​中。提交更改,它应该是相同的方式。克隆时确保您具有访问权限,或者密钥是用于部署的远程服务器的密钥。

答案 1 :(得分:18)

现在,如果存储库已经存在于远程计算机上,并且您在本地没有任何内容,那么您可以改为使用git clone。

URL格式很简单,它是PROTOCOL:/ [user @] remoteMachineAddress / path / to / repository.git

例如,使用“dev”用户克隆您具有SSH访问权限的计算机上的存储库,驻留在/srv/repositories/awesomeproject.git中,并且该计算机具有您执行的ip 10.11.12.13:

git clone ssh://dev@10.11.12.13/srv/repositories/awesomeproject.git

答案 2 :(得分:1)

就像你说remote_repo_url确实是服务器的IP,是的,它需要在每台PC上添加,但是如果你先创建服务器然后让每个人克隆它,就会更容易理解。

有几种方法可以连接到服务器,你可以使用ssh,http,甚至是网络驱动器,每种方式都有它的优点和缺点。 您可以参考documentation有关协议以及如何连接到服务器

您可以查看chapter 4的其余部分以获取更多详细信息,因为它正在讨论如何设置您自己的服务器

答案 3 :(得分:1)

对我而言,在服务器(似乎是Windows机器)上公开git存储库的最简单方法就是将其作为网络资源共享。

右键单击文件夹“MY_GIT_REPOSITORY”并选择“共享”。这将使您能够将git存储库作为本地网络上的网络资源共享。确保为正确的用户提供写入该共享的能力(当您和您的同事推送到存储库时将需要)。

您要配置的遥控器的URL可能最终看起来像 file://\\\\189.14.666.666\MY_GIT_REPOSITORY

如果您希望使用任何其他协议(例如HTTP,SSH),则必须安装包含这些协议的服务器的其他服务器软件。代替这些,文件共享方法可能是您现在最简单的方法。

答案 4 :(得分:-2)

请查看gitolite,这是私有托管git存储库的一个非常好的解决方案。