为什么git annex不会死?

332nm8kg  于 2023-06-28  发布在  Git
关注(0)|答案(3)|浏览(110)

几年前(至少是几个月前),我在一个存储库上初始化了git-annex,现在我想不起来原因了。我以为我设法摆脱了它,但今天我发现它仍然存在,并且存储库中的任何新目录都是“附件”-如果我在存储库中的任何地方创建一个新文件,我可以编辑它一次,然后一旦我保存,它就被存储为git-annex对象:

index.html -> ../.git/annex/objects/z3/gQ/SHA256E-s17--a58d9605c9c692e1df6adbed7e3e5bd7655345326d0297b55fd1faa13ae16fbb.html/SHA256E-s17--a58d9605c9c692e1df6adbed7e3e5bd7655345326d0297b55fd1faa13ae16fbb.html

我阅读了Remove git-annex repository from file tree的说明并尝试了git annex uninit,得到了以下结果:

amanda@mona:talks$ git annex uninit
unannex 2018/test/Untitled Document ok
unannex 2018/test/index.html ok
unannex test/index.html ok
git-annex: Not fully uninitialized
Some annexed data is still left in .git/annex/objects/
This may include deleted files, or old versions of modified files.

If you don't care about preserving the data, just delete the
directory.

Or, you can move it to another location, in case it turns out
something in there is important.

Or, you can run `git annex unused` followed by `git annex dropunused`
to remove data that is not used by any tag or branch, which might
take care of all the data.

Then run `git annex uninit` again to finish.

所以我删除了.git/annex并再次运行git annex uninit。尝试创建新文件并...它是一个git附件对象。我觉得我被沼泽的东西缠上了。我到底怎么才能让它死?
我尝试在Synaptic中完全删除git-annex,但新文件仍然会立即转换为.git/annex/中的对象

k97glaaz

k97glaaz1#

在运行了几次git annex unannex之后(看起来它会解决这个问题),手动删除钩子并重新创建新文件并复制和粘贴内容,我最终通过克隆存储库并将git附件链接替换为真实的文件来解决这个问题。

xzlaal3s

xzlaal3s2#

仔细检查当前Git仓库中是否有任何钩子

cd /path/to/my/repo/.git/hooks

还要检查git本身是否是一个 Package 器脚本。
查找git-annexwhich git-annex)可执行文件并将其删除

wpx232ag

wpx232ag3#

如果你想从Git仓库中删除git-annex,你可以使用git clone来创建原始仓库的新副本。
新克隆的Git仓库与git-annex无关.然而,作为一个Git存储库,它拥有旧存储库所拥有的一切。因此,您可以在新的存储库上工作,而忘记git-annex
在克隆之前,请确保原始存储库中的所有更改都已提交(即:工作目录是干净的)。

相关问题