为了加快跟踪自己的更改的能力,我想使用 git。我的团队正在使用 RTC(Rational Team Concert)。与 git 有一个很好的 perforce 集成:http://kb.perforce.com/article/1417/git-p4 .对于 git-RTC,我还找不到这样的东西。请注意,有一篇关于如何将 RTC 与另一个 SCM(例如 git)集成的文章:https://jazz.net/library/article/194 .但是,我正在寻找 p4-git 桥提供的详细工作流程说明类型,例如如何设置文件、如何保持文件同步、如何将 git 提交发送到 RTC。
我想知道是否有其他人解决了这个问题。
我正在考虑:
- 在我的 RTC 沙箱顶部执行 git init,并确保 .jazzignore 中包含 git 文件。
- 也许有我的 RTC 工作区沙箱的 rsync 副本,这样我就可以获取沙箱中的更改,将它们 rsync 到我的“git-area”,然后将补丁应用回 RTC 沙箱区域。这将使 git 和 RTC 区域分开。
无论哪种情况,我都会执行 git stash 来保存我自己的更改,以便同步更改存储在它们自己的提交中。
如果我执行 #1,我猜我的更改将简单地准备好提交给 RTC,可能使用 GUI 或命令行。
在 #2 的情况下,如果我完成了中间提交,也许我可以使用 git rebase 重新排序提交,这样我的提交就按顺序排在最后,然后创建一个补丁文件以应用于主 RTC 沙箱。
另一个想法是尝试重写 p4 脚本以支持 RTC。我对 RTC 命令行界面的了解还不够多,无法对此进行评估。
最佳答案
最简单的方法仍然是 1/“RTC 沙箱(本地工作空间)内的 git”
将 .git 目录添加到您的 .jazzignore
中,您就可以开始工作了。
您的 RTC 的未决更改将获取您的 git 工作树中发生的任何更改。
但是,如果你想让你的 git 工作树与你的 RTC 沙箱分开,你可以考虑使用 GIT-WORK-TREE
以便你的 git 工作树随着来自你的 RTC 沙箱。
参见“Running “git status” against a repository located elsewhere in the system”。
关于git - 将 git 与 rtc 一起使用——rsync 怎么样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9369516/