在工作中,我们正在尝试切换到 Git,但遇到了一些问题(让我从一开始就说明我是唯一一个对 Git 有一些基本经验的工作人员,另一位同事过去曾使用过 Subversion,但是而已)。
我们设想如下:
- 我们有一个稳定项目所在的主目录,我们的项目经理可以查看站点并在需要时进行调试。这个主目录(我们称之为 MAIN)也是所有开发人员的原始存储库。
- 所有从事该项目的开发人员在我们克隆 MAIN 的服务器上都有一个子目录,处理我们的更改并再次推送到 MAIN。我们也从那里拉取彼此的变化。
我们今天尝试这样做,但很快注意到不建议推送到非裸存储库 master -> master。当我读到原因时,这对我来说很有意义。如果你想自己做主 -> 主推送(到非裸仓库),我找到了一些解决方案,但它们都需要在源上执行各种命令(重置或从不同的分支合并)。然后,据我所知,解决方案是:将 MAIN 转换为裸存储库。但是,这意味着我们的 PM 不再能够查看该项目,因为没有工作目录。
解决这个问题的最佳方法是什么?我们是否设置了一个自动导出裸 MAIN 存储库的钩子,以便我们可以查看文件?
额外的事情:随着时间的推移,MAIN 将成为它自己的克隆:我们有一个用于每个项目的默认模板,我认为从默认模板克隆 MAIN 然后在其上添加东西是一个好习惯。这被认为是不好的做法吗?推回默认模板不是必需的,但是我们可能想要修复错误。我们是否应该启动裸 MAIN 存储库并将默认模板复制/粘贴到其中?