将项目初始化为Git存储库,并将其用作多个用户的母版

时间:2019-03-23 14:28:53

标签: git

我正在完成课程分配,它要求将项目目录转换为本地存储库:

在'/ home / Dev / project1'里面:

$ git init

现在它是一个存储库,但是我所做的工作是使多个本地用户可以推送和拉出更改,然后将该存储库克隆到一个新的 bare 存储库

$ git clone —bare /home/Dev/project1 /home/Dev/project1_central

现在,当用户登录时,他们可以克隆裸仓库

$git clone /home/Dev/project1_central /home/JohnSmith/project1

进行编辑和更改,然后推回裸仓库,以供其他人从中提取更改。

我的问题是我的任务明确声明/home/Dev/project1是主服务器,并且对该存储库进行了推/拉。因此,我觉得如果将其克隆到一个裸仓库中,我就没有遵循标准,但是,当我尝试将更改推送到一个非裸仓库中时,我会出错。

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

  

好吧,然后他们进行一些更改,并希望将更改推回原始存储库,
  $ git push$ git push origin master给我一个错误,提示事情将不正确,我需要编辑配置文件。

如果已将远程仓库/home/Dev/project1设置为裸仓库,则不会出现任何错误消息:git push -u origin master将更新该仓库(/home/Dev/project1){{1} }分支。

  

通过将存储库克隆到裸存储库并从那里进行操作,我可以使一切正常运行,但是似乎分配问题要求我们直接从存储库中处理所有文件

然后:

  • master中进行定期回购
  • 在其/home/Dev/project1文件中添加裸/
  • 将其克隆到一个裸子文件夹中

    .gitignore
  • 请您的同事克隆您的git clone --bare . bare git remote add origin bare 回购,*但添加:

    /home/Dev/project1
  • 添加一个接收后挂钩git config set-url --push origin `/home/Dev/project1/bare`

    /home/Dev/project1/bare/hooks/post-receive