【发布时间】:2020-12-23 16:33:53
【问题描述】:
在处理我们的代码时,我们在git repository 中遇到了一个问题:
8 月 15 日,“UserHelper”类中的“CheckforLogout”方法仍然存在(提交:08cc360 或图片中的绿色提交)。 8月26日之后,这个方法就彻底没了。
我检查了是否存在删除方法的提交,但没有。
在阅读了类似的thread 之后,我开始将提交与结果一分为二,提交 9013cf5(图片中的黄色提交)是“坏的”。
这种行为的可能原因是,我的老板进行了更改并将它们提交到存储库而没有先拉动。由于他的存储库已经过时,因此需要进行合并。由于这次合并,我的方法被删除了。
因此“错误提交”已经过时,没有我的方法。
对我来说重要的问题:
- 为什么再次被删除的方法没有条目?
- 我可以从软件方面阻止这种行为吗?
我们目前正在为我们的 git 服务器使用 GitLab 12.6.4-ee。
感谢您的考虑!
【问题讨论】:
-
出于好奇,如果您执行
git show 9013cf5并查看更改,您不会看到您的方法被删除了吗? -
是的,没错。被删除的方法没有变化
-
顺便说一句,欢迎来到 SO,应该从这个开始,抱歉。另一个问题,如果您执行
git diff <mergecommit> 9013cf5,这将介于良好提交和合并提交之间,您是否看到缺少功能的差异?询问,只是为了确保您至少可以找到丢失的代码。 -
我检查了 git diff 和函数没有差异