我正在与团队合作,我们想要使用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中?
答案 0 :(得分:24)
这很简单,按照小步骤继续:
$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/.git
和cat 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存储库的一个非常好的解决方案。