git - Xpages 项目的 eGit 插件 VS 笔记复制过程,用于在团队或开发人员中共享代码

标签 git version-control xpages replication egit

带着这个问题,我只是想得到一些关于这两个流程的评论和建议。

我特意提到了 eGIT 插件,因为我可以接受 GIT 是一种流行的 VCS,它将代码更新到 git 服务器以及所有其他内容,例如存储、分支等,但是在 Xpages 中我们需要创建一个 ON-Disk 项目,它需要使用本地 ntf 进行源代码管理,以便我们可以将 git ondisk 项目的更改同步到本地 ntf,反之亦然,其中 eGIT 插件可以帮助我们进行设置。

为了进行更多说明,我们有 2 个不同的位置(两个时区都不同),示例位置 A 和位置 B。在位置 A 上,似乎一切正常,但在位置 B 上,当更改被 pull 到磁盘上时我们的一些开发人员发现与 ondisk 项目同步存在一些问题,并且没有从 ondisk 项目中获取更改(有时可能是因为生成的元数据),我们在其中找到了可能的原因。所以我们决定 至

  1. 从位置 B 的一个主模板“xyz”创建复制 所有开发人员本地的位置“A”,模板“xyz”并在以下时间复制 更改已完成。
  2. 停止从 git pull 更改
  3. 决定仅推送更改并将更改复制到主模板“xyz” 在位置“A”。

现在的问题是,当多个开发人员工作并复制更改时,复制过程的正确性如何,在位置“A”工作的所有开发人员的代码的安全性如何。

xpages 开发人员在使用 egit 插件同步本地模板上的更改时面临哪些问题。

如何使用 eGit 在 git 进程之上进行复制, 团队合作时,复制过程可能会出现哪些问题。

过去几周我们发现,将模板从位置“A”复制到位置“B”后,一些自定义控件与不同的签名者但名称相同,现在没有人可以预测这里出了什么问题。

最佳答案

多年来,我们一直在 XPages 中使用 Git,也在与多个开发人员合作的项目中使用。有时这很痛苦,但大多数时候效果很好。这比根本不使用源代码控制要好得多,尤其是在多开发人员团队中。恕我直言,没有它你根本无法生活。

上面的文字中并没有真正具体的问题,但我可以分享一些我的经验:

  • 我不使用 eGit,而是使用外部 Git 客户端 (SourceTree)。这并不是因为我不喜欢 eGit,而是因为我不喜欢它为 Designer 添加的额外依赖项。我喜欢让 Designer 尽可能接近标准安装。
  • 使用Swiper在设计师中。如果没有 NSF 文件,Git 会带来更大的痛苦。
  • 仅提交您在 NSF 中实际更改的内容。磁盘项目有时会让您认为您还更改了数据库属性或图标(这是一个很大的困难),但只需忽略这些更改即可。如果您忘记更改了哪些文件,则需要更频繁地提交(首先在本地提交,压缩提交并将其发送到服务器)。
  • Git 存储库是唯一且唯一的事实来源。开发时,忘记模板。只需与 ODP 同步即可。根据我的经验,Designer 中的新 Eclipse 版本使 ODP 更改检测和同步变得更好。
  • 如果您为 ODP 创建 Git 存储库,请将 NSF 中的文件始终存储在一个子文件夹中(如果您的应用程序包含多个数据库,则存储在多个子文件夹中)。
  • 如果您 merge 其他人的提交,请 merge 到您的 Git 客户端中,解决所有 merge 冲突,然后才能与 NSF 同步。
  • 在“设计器”>“源代码管理”首选项中打开自动导入/导出。使设计器更具响应性并让您可以控制流程。你只是不应该忘记这样做。

关于git - Xpages 项目的 eGit 插件 VS 笔记复制过程,用于在团队或开发人员中共享代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53276433/

相关文章:

javascript - session.getDatabase 返回 null

git - "git remote -v"显示 (fetch) 和 (push) 两次,一次用于 'github',一次用于 'origin' 这意味着什么?

git - 如何将新文件夹链接到 git 存储库

git - 使其他 github 用户只能 fork 我的私有(private)存储库并向我发送 pull 请求

XPage:@DbName() 从数据库文件路径中删除斜杠

css - 如何在 xpages 中更改 dojo 货币文本框的特征?

git - 如何使用 Bitnami Gitorious 堆栈通过 HTTP 克隆 git 存储库?

Git 子模块哈希不断引起冲突

java - 将 Play 应用程序推送到 Heroku 会导致 "Heroku push rejected, no Cedar-supported app detected"错误

php - MySQL 与 InnoDB 版本控制行