我正在完成课程分配,它要求将项目目录转换为本地存储库:
在'/ 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
是主服务器,并且对该存储库进行了推/拉。因此,我觉得如果将其克隆到一个裸仓库中,我就没有遵循标准,但是,当我尝试将更改推送到一个非裸仓库中时,我会出错。
有什么建议吗?
答案 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