【发布时间】:2022-07-06 02:43:16
【问题描述】:
我在 GitHub 中发现了一个很奇怪的现象。
简而言之,文件中的一行在没有任何提交的情况下被更改。
如果我在历史的给定点浏览存储库,然后在历史的下一个点浏览,我可以看到文件的一行发生了变化。但是当我查看将存储库从第 1 点更改为第 2 点的提交时,该文件中没有任何内容。
之前,我添加了一个提交,只是反过来改变了那行,所以看起来之前的提交就消失了,没有任何痕迹。据我所知,在 git 中,没有提交就无法改变。我错了吗?
不幸的是,repo 是私有的,所以我不能分享它,但这里有一些截图:
详情
显示旧状态和新状态的回购历史记录,以及可能已经消失的提交
在文件Models/Sql.Andris.cs 中,我通过提交将行尾从“50”更改为“250”。然后,经过几次提交,它又改回原来的“50”。请参阅下面的代码。
底部的红色矩形显示将行从“50”更改为“250”的提交
在中间的红色矩形中,“250”仍然存在
在顶部的红色矩形中,“250”变回“50”
最初更改文件的提交
本次提交中没有其他内容。
这是文件Models/Sql.Andris.cs。
历史后期的文件
这是同一个文件Models/Sql.Andris.cs。
注意:最后一行仍然以250);结尾
下一个历史点的文件
这是同一个文件Models/Sql.Andris.cs。
注意:最后一行以50);结尾
将代码从中间提交带到最新提交的提交
请注意,该提交没有来自文件Models/Sql.Andris.cs 的任何内容
问题
这种现象导致我在制药环境中的应用程序出现错误,这意味着我必须向当局解释偏差,并且我必须想出一个解决方案,这样它就不会再次发生。我被卡住了,因为我不明白这怎么会发生,我不知道如何防止它在未来发生。
你知道我在调查期间遗漏了什么可以解释发生了什么吗?
我能做些什么来防止它再次发生吗?
任何提示将不胜感激!
【问题讨论】: