【问题标题】:Gitkraken repo, failing to checkout branch, then suddenly deleting dozens of filesGitkraken repo,未能签出分支,然后突然删除了几十个文件
【发布时间】:2019-08-25 11:47:30
【问题描述】:

很快就会明白,我不是 Git 甚至 Gitkraken 的大师。因此,我只有一个 hotfix、一个 master 和一个 feature 分支。我在修补程序、提交、推送和合并到 master 中进行更改(然后我也推送)。到目前为止,我一直在努力避免变得比这更复杂。

即使我的一个特性分支也有点懦弱,因为我仍然将我的特性工作与我的工作文件分开(在单独的文件/目录中),并且始终将 master 合并到特性分支中,这样我就不会失去所有站点的修补程序——所有这些都是为了让我的关键站点文件保持完整且不受任何分支的影响。我认为这是一种中间实践,因为我在继续维护网站的同时,还对 Git 有所了解。既然现在我遇到了这个奇怪的问题,我就明白为什么我还没有迈出那一步。显然我确实没有准备好使用 Git 或 Gitkraken。

今天早上,我做了一些修补程序的工作,并将其合并到 master 中。没有任何问题。然后我尝试切换到特性分支(我已经好几个星期没有进入这个分支了,因为它最近都是关于热修复的),然后一切都崩溃了。 Gitkraken 抛出错误:“结帐失败。无法删除 [swf 文件 - 在我上次提交之前很久就存在的文件] 不允许操作。”什么?使用这些关键词进行网络搜索几乎一无所获……我猜这让我成为第一个遇到这种情况的人。

然后!... 立即,仍然在修补程序中并且没有做任何进一步的事情,突然有 27 个文件更改暂存并准备提交!他们都删除了文件,而 没有 我实际上扔掉了其中的文件。其中一些是我上次提交后我什至没有碰过的,另一些是我制作的新文件。

我能够简单地撤消按钮并恢复那些已删除的文件,但这对 Gitkraken 时间线(请参阅https://postimg.cc/ppw9zFNn)造成了我无法理解的莫名其妙的事情......不知何故它涉及更改已转到我无法切换到的功能分支(屏幕截图中的 JQMUpdates5)...?

至少我找回了那些被删除的文件。但是,我无法继续前进或将我的存储库恢复到可用状态。即使通过 Time Machine 恢复到今天早上的状态并尝试重试该过程,我也得到了相同的结果。

我唯一能想到的是文件GK“无法删除”被锁定在Finder中。这应该不是问题,因为该文件与 repo 中的许多其他类似文件相同——所有这些文件也都被锁定在 Finder 中。

除此之外,我突然想到,在尝试切换到功能之前,我没有推动 master ——就像我通常做的那样。但据我所知,在切换到不同的本地分支之前应该没有必要更新远程主分支......

我需要帮助。这是一个错误吗?我的回购损坏了吗?结果似乎是,虽然我个人没有删除任何文件,但当我尝试(不成功)切换到 JQMUpdates5(功能)分支时,GK 似乎随机为我做这件事。

我试图理解为什么我的修补程序分支处于完全最新状态,直到尝试切换到功能分支,突然 GK 丢弃了数十个文件并一举将这些删除分阶段进行。撤消没有帮助——只会使问题复杂化——现在我很纠结,不知道如何找回我的回购。失去 JQMUpdates5 分支对我来说绝对是一场灾难,因为它包含大量的开发工作。

我不确定我对问题的描述有多大帮助(因为这与我遇到的任何事情一样令人困惑),但如果有人有任何见解,我肯定会感谢一些指导。

【问题讨论】:

    标签: git version-control git-commit gitkraken


    【解决方案1】:

    好的,令人难以置信的是,我将此问题追溯到我本地计算机上的权限问题。出于某种原因,我的 Mac 笔记本电脑上的管理员帐户在这些古老的 swf 文件被锁定时遇到了一些问题,同时这些文件的权限与包含主文件夹的权限不同(后者具有完全权限,而前者基本上没有)。

    因此,Gitkraken 在切换分支时被这些文件阻塞(因此试图删除所述锁定和无权限文件)。

    现在...为什么这完全等同于 Gitkraken,然后删除一堆其他不相关的文件,并在没有我输入的情况下立即进行此更改 - 这是另一回事。令人高兴的是,我现在不需要解决这个问题,因为我从备份中恢复了本地存储库,递归地重新授予自己处理这些问题文件的权限,然后强制将所有这些推送到远程存储库(回想起来,我设法用一些我可能不应该做的推动来搞砸)。现在我恢复了全面运行,并且 repo 是最新的并且完全可以切换。世界再次变得有意义。

    所以这一切都发生在其他人身上的可能性很小。似乎这有可能影响任何人,因为权限是 Sierra+ 似乎有点不稳定。希望这可以在某个时候对某人有所帮助。

    【讨论】:

      猜你喜欢
      • 2020-06-03
      • 1970-01-01
      • 2020-11-19
      • 2021-04-18
      • 1970-01-01
      • 2017-06-05
      • 2011-03-27
      • 2019-02-03
      • 1970-01-01
      相关资源
      最近更新 更多