gpt4 book ai didi

windows - 在不提交到存储库的情况下获得无限的 "undo stack"?

转载 作者:可可西里 更新时间:2023-11-01 14:07:57 29 4
gpt4 key购买 nike

像许多程序员一样,我很容易周期性地获得“灵感”,在这种情况下我会突然看到光明并对我的代码进行大手术。通常情况下,这样做效果很好,但有时我后来发现——由于 sleep 不足/咖啡因不足,或者仅仅是对问题的理解不完善——我做了一些非常愚蠢的事情。

发生这种情况时,下一步就是扭转损害。最简单的是,这意味着我的编辑器中的撤消堆栈……除非我在某个时候关闭了文件。接下来是版本控制,但如果我在最近的提交(我习惯性地不提交破坏构建的代码)和灵感时刻之间进行了更改,它们就会丢失。它不在存储库中,因此代码从未存在过。

我想以一种我不必为此担心的方式设置我的工作环境,但我从来没有想出一个完全令人满意的解决方案。理想情况下:

  1. 每次保存文件时都会创建一个新的、可恢复的版本。
  2. 那些“自动保存”的版本不会弄乱主存储库。 (其中绝大多数将完全无用;我每分钟按 Ctrl-S 几次。)
  3. “自动保存”版本必须位于本地,以便我可以快速浏览它们。尝试快速扫描数百个修订版时,只有 3 秒周转时间的存储库根本行不通。

我考虑过的选项:

  • 在进行重大更改之前只需提交到主存储库,即使代码可能会被破坏。缺点:当“受到启发”时,我通常对此没有头脑;破坏构建。
  • 本地托管的 Subversion 存储库,启用了自动版本控制,安装为“Web 文件夹”。缺点:不能很好地与其他存储库的工作副本一起使用;在 Windows 中安装适当的 WebDAV 文件夹充其量是痛苦的。
  • 与之前的方法一样,但使用主存储库中的分支代替,并在我通常手动提交时合并到主干。缺点:并非所有托管存储库都可以启用自动版本控制;不符合上述第2点和第3点;无法安全地从主干反向合并到分支。
  • 切换到 DVCS 并在推送时“合并”我所有的小提交。缺点:我对 DVCS 一无所知;有时 Subversion 是唯一可用的工具;我不知道如何满足上面的第 1 点。
  • 将工作副本存储在版本控制的文件系统上。缺点:这些是否适用于 Windows?如果是这样,则 Google 未能为我指明方向。

有谁知道可以让我得到我想要的东西的工具或工具组合?还是我给自己设定了相互矛盾的要求? (我非常怀疑。)

更新:在更仔细地检查了我已经使用 的工具之后(叹息),事实证明我的 text editor有一个非常不错的多备份功能,几乎可以完美地满足我的需求。它不仅可以选择将所有备份存储在“隐藏”文件夹中(然后可以将其添加到 VCS 的全局忽略中),还允许直接在编辑器中浏览甚至比较备份。

问题解决了。谢谢大家的建议!

最佳答案

分布式版本控制。 (mercurial、git 等...)

故事的要点是没有 checkout ,只有存储库的克隆。

您的提交只有您自己可见,直到您将其推回主分支。

想要进行激进的实验性变革?克隆存储库,在您的计算机上进行大量提交。如果成功了,就把它推回去;如果不是,则只需回滚或丢弃存储库。

关于windows - 在不提交到存储库的情况下获得无限的 "undo stack"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1101297/

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