我在我的 unix 中安装了一个 git repo,用于跟踪我们的 Java EE 网站的版本。
我目前遇到的问题不是 git 的使用,而是我想使用它的方式,这将在下面解释。
我在一个由 3 名开发人员组成的团队中工作,他们为网站开发做出了贡献。
最初,当我在我们的服务器中安装 Git 时,我直接创建了一个包含实际工作文件的 webapps 目录的 repo,并遇到了以下问题。
1)在将更改提交到 repo 时,我们中的一个人通常会做 agit add .
并将其提交到存储库,该存储库不仅会提交提交者更改的文件,还会提交其他开发人员的更改。
当我们遇到这个问题时,我们决定需要在同一服务器中的不同目录中为我们每个人创建单独的非裸存储库,以容纳整个代码。我们遵循的基本工作结构如下所示:
如上图所示,我们创建了一个裸仓库,其中包含由 webapps 推送的网站内容,图中是工作目录。
这里的基本工作流程是:
1)为每个开发人员创建 n 个非裸仓库。
2)从该裸仓库中获取整个网站的工作文件
3)对我们自己的仓库进行更改后,推送到裸仓库
4) 使用 post-receive 钩子配置的裸仓库实际上会更新工作目录。
此设置工作正常,但我们面临很多问题,如下所示:
1)每个开发人员在单独的目录中都有自己的内容,在将代码推送到裸仓库之前无法测试代码,这将更新工作目录-即使对于一个 jsp 文件更改,这些步骤的 Coz 我最终也做了 20 次提交直到它开始正常工作而没有错误,因为我们的 tomcat 只指向原始工作目录。
这成了这里最头疼的问题。
这种策略解决了以前存在的冲突问题,但在测试代码方面产生了更大的问题。
我们如何改善这种在项目中使用 GIT 似乎有益的情况。
任何人都可以提出任何改进方法。