gpt4 book ai didi

Git 更改丢失 - 为什么?

转载 作者:IT王子 更新时间:2023-10-29 01:01:15 25 4
gpt4 key购买 nike

我们的开发团队正在使用 git,我们最近至少两次丢失了对文件的更改。我们正在使用私有(private) Github 存储库。

在当前情况下,我们可以通过 Github 上的日志返回并查看我对文件所做的一些更新。后来,另一个团队成员更改了文件的不同部分,似乎破坏了我的更改。我在本地还有它们。

有没有人遇到过这种情况?有什么原因或解决办法吗?

认为没有人在做任何 rebase 或任何花哨的事情——只是 pull 和推。

最佳答案

我想补充几句。我最近注意到 git 中有非常奇怪的行为。因此,我的团队遇到了很大的问题。我不知道它是怎么发生的,但我的 repo 协议(protocol)中的历史似乎不一致。

小插图:

提交 XXXXXXXX:

“bar”行被添加到文件 foo。

...正在进行中...

很多次之后的提交(比如说大约 100 次):

此文件中不再存在“bar”行!!

调查:

1.我检查了文件的历史:

git 日志 foo和gitk foo

我什至用外部工具 (gvimdiff) 比较了每次提交的连续 blob。有趣的是我发现了两个提交(我们称它们为 YYY 和 ZZZ)。来自提交 YYY 的文件 foo 的 Blob 包含“bar”,但来自 ZZZ 的 blob 没有。
当我使用 gitk(和 gitweb)检查这些提交的 commitdiffs 时,我注意到没有删除 ZZZ 中的“bar”行的操作。有没有可能中间有一些commit然后就烟消云散了?
或者也许提交 ZZZ 只是删除了我的行并且嵌入在 git(或 gitk)中的 diff 工具坏了?

2.我搜索了可以用“git log -S”删除这一行的提交,比如:

git log -S'bar' -- foo

事实证明,这一行从未被删除。事实上,它被添加了两次。第一次将其引入项目,第二次将其作为紧急错误修复再次添加。

我真的很喜欢使用 git,甚至说服了几个 friend 使用它,但如果这种魔力继续发生,我将不得不开始寻找替代品。

关于Git 更改丢失 - 为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4454621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com