我在不支持符号链接的文件系统上有一个git
和项目。git annex
因此,我必须使用调整后的分支,这意味着在我的“正常”分支之上执行git annex adjust --unlock
,以便获得一个新分支,在该分支上,我的附件文件不是指向附件存储的符号链接,而是原始文件. 我的提交树看起来像这样:
* git-annex adjusted branch (HEAD, adjusted/master(unlocked))
* ┘ some change (master, refs/basis/adjusted/master(unlocked))
* some prior change
...
当我现在提交时,我猜我会在调整后的分支上这样做,因为 git-annex 无法使用git annex add MYFILE
和 git commit` 创建符号链接:
* my new commit (HEAD, adjusted/master(unlocked))
* git-annex adjusted branch
* ┘ some change (master, refs/basis/adjusted/master(unlocked))
* some prior change
我想要的是对标准 git-annex 格式的 master 分支的提交,这意味着附件文件是指向它们在附件存储中的位置的符号链接。最后,因为我不能在我的文件系统中签出符号链接,我需要自动创建一个新的调整分支,用实际文件替换提交中的符号链接。
那么我如何从上述情况得到以下情况:
* git-annex adjusted branch (HEAD, adjusted/master(unlocked))
* ┘ my new commit (master, refs/basis/adjusted/master(unlocked))
│ * git-annex adjusted branch (abandoned previous HEAD)
* ┘ some change
* some prior change
git附件调整上的git附件手册只告诉我如何获得调整后的分支,而不告诉我如何扭转调整。调整概念页面对我来说有点神秘(突出显示的文本)。
用户在调整后的分支上的提交必须进行反向调整才能将更改应用于主分支。
这种调整的逆转可以作为另一种调整来完成。由于只有被提交触及的文件会被反向调整,所以不需要反向所有由原始调整所做的更改。[当我的文件系统不支持它们时,我应该如何从文件反向调整到符号链接?]
例如,反转解锁调整可能会锁定文件。或者,它可能什么都不做,这会使所有提交的文件保持解锁状态。[ “可能什么都不做”是什么意思?条件是什么?]