0

在工作中,我们正在尝试切换到 Git,但遇到了一些问题(让我从一开始就说明我是唯一一个对 Git 有一些基本经验的工作人员,另一位同事过去曾使用过 Subversion,但是而已)。

我们设想如下:

  • 我们有一个稳定项目所在的主目录,我们的项目经理可以查看站点并在需要时进行调试。这个主目录(我们称之为 MAIN)也是所有开发人员的原始存储库。
  • 所有从事该项目的开发人员在我们克隆 MAIN 的服务器上都有一个子目录,处理我们的更改并再次推送到 MAIN。我们也从那里拉取彼此的变化。

我们今天尝试这样做,但很快注意到不建议推送到非裸存储库 master -> master。当我读到原因时,这对我来说很有意义。如果你想自己做主 -> 主推送(到非裸仓库),我找到了一些解决方案,但它们都需要在源上执行各种命令(重置或从不同的分支合并)。然后,据我所知,解决方案是:将 MAIN 转换为裸存储库。但是,这意味着我们的 PM 不再能够查看该项目,因为没有工作目录。

解决这个问题的最佳方法是什么?我们是否设置了一个自动导出裸 MAIN 存储库的钩子,以便我们可以查看文件?

额外的事情:随着时间的推移,MAIN 将成为它自己的克隆:我们有一个用于每个项目的默认模板,我认为从默认模板克隆 MAIN 然后在其上添加东西是一个好习惯。这被认为是不好的做法吗?推回默认模板不是必需的,但是我们可能想要修复错误。我们是否应该启动裸 MAIN 存储库并将默认模板复制/粘贴到其中?

4

2 回答 2

1

推荐的设置是让 MAIN 成为一个裸存储库,正如您所预见的那样,然后您可以使用Git Web之类的东西,一个问题跟踪器连接器(我知道Redmine可以连接到 git),或者一个本地克隆 + 普通 git / tig / 任何用于浏览它的 git GUI。

或者可能是本地gitorius安装,或托管在Github上。

于 2012-12-13T17:59:35.757 回答
0

对于你的 PM,他只是在他自己的 PC 上克隆了 repo。这是最好的,使用裸存储库主要用于在远程存储存储库。如果他在没有技术知识的情况下并非只关心命令行(尽管他似乎从您的描述中可以看出),他可以使用简单的 GUI 来管理东西。

关于您的额外问题,在这种情况下,我只需在每个项目中复制/粘贴我的基本模板。这更有意义,因为我不希望我的项目中的样板历史(保持简单和整洁)。

于 2012-12-13T16:53:55.840 回答