几年前(至少是几个月前),我在一个存储库上初始化了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/
中的对象
3条答案
按热度按时间k97glaaz1#
在运行了几次
git annex unannex
之后(看起来它会解决这个问题),手动删除钩子并重新创建新文件并复制和粘贴内容,我最终通过克隆存储库并将git附件链接替换为真实的文件来解决这个问题。xzlaal3s2#
仔细检查当前Git仓库中是否有任何钩子
还要检查git本身是否是一个 Package 器脚本。
查找
git-annex
(which git-annex
)可执行文件并将其删除wpx232ag3#
如果你想从Git仓库中删除
git-annex
,你可以使用git clone
来创建原始仓库的新副本。新克隆的Git仓库与
git-annex
无关.然而,作为一个Git存储库,它拥有旧存储库所拥有的一切。因此,您可以在新的存储库上工作,而忘记git-annex
。在克隆之前,请确保原始存储库中的所有更改都已提交(即:工作目录是干净的)。