gpt4 book ai didi

version-control - 化石:将文件添加到现有存储库中,我需要先打开吗?

转载 作者:行者123 更新时间:2023-12-03 23:36:50 26 4
gpt4 key购买 nike

我希望控制目录的版本,我们称之为“项目”,并将化石文件保存在另一个名为“化石”的目录中。我已经成功创建了“project.fsl”存储库,添加了我的项目文件,提交并关闭。我的问题是了解如何采取下一步行动。

这是我按照 fossilbook 建议所做的。

$ cd project
$ fossil new ../fossils/project.fsl
$ fossil open ../fossils/project.fsl
$ fossil add .
$ fossil ci -m "first commit"
$ fossil close project.fsl

现在我已经处理了我的项目,编辑了一些文件,删除了一些文件,创建了一些文件,重命名了一些文件。我想将项目的当前状态添加到存储库中。我怎么做?

根据我在文档中读到的内容,我的印象是我必须先打开存储库,然后添加文件,然后提交。如果我不打开存储库,我会收到 Not within an open checkout. 消息。但是如果我 open 化石想用旧文件覆盖我的目录。 (如果我从 fossils 目录中打开,我会得到一个“解压”版本的项目复制到化石目录中,这也不是我想要的)
$ cd project
$ fossil open ../fossils/project.fsl

这里化石想用旧版本覆盖我的项目。我对每一个建议说不。我怀疑 open 不是正确的方法,但如果不是,那是什么?

我想将我的更改添加到存储库,所以现在 project.fsl 是 open ,我试试这个:
$ fossil add .
ADDED Slides/tmp.tex

$ fossil commit -m "no idea what I'm doing, this will not end well"
would fork. "update" first or use --allow-fork.

$ fossil close
there are unsaved changes in the current checkout

此时我删除了所有名为 .fslckout .fossil 的隐藏文件,然后再试一次,结果同样令人失望。

坦率地说,我对 fossil 的唯一兴趣是保留我的项目的历史记录。我没有共同作者,也不打算做 fossil difffossil ui 或类似的事情,直到我需要深入研究我项目的历史时,我希望这永远不会发生。

编辑。 我是个新手。我不确定我是否理解 checkoutmanifestleaf 等的含义,所以尽管花费了无数时间尝试,但我很难从手册中得到任何东西。我不太了解 fossil open 上的这个页面: http://fossil-scm.org/fossil/help/open

最佳答案

fossil open 是正确的做法。在您的情况下,它是 fossil close 不是必需的。

此时,您应该使用 fossil open ../fossils/project.fsl --keep 打开您的存储库,同时保留所有更改。

open 命令将当前目录标记为工作目录(在 Fossil 术语中,结帐)。我建议您在需要移动存储库或工作目录本身之前不要关闭它。就个人而言,只有当我移动到另一台计算机时才会发生这种情况。

要让化石识别所有变化,只需执行 fossil addremove ;然后化石将添加所有新文件,并删除所有已删除的文件,以便存储库再次匹配工作目录。当然,您仍然必须在之后提交更改。

注意 addremove 不会自动识别文件重命名!如果您已重命名文件,则在执行 fossil rename 命令之前,您应该使用 addremove 命令让 Fossil 知道每个文件的这一点。当然,如果你不介意破坏特定文件的编辑历史,你可以随意跳过它,让化石认为一个文件被删除了,而另一个文件被添加了。

关于version-control - 化石:将文件添加到现有存储库中,我需要先打开吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22051797/

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