什么是 git 工作树标识符
What is git worktree identifier
创建新的 git 工作树时,会显示如下消息
$ git worktree add -b hotfix ../hotfix origin/master
Enter ../hotfix (identifier hotfix)
Branch hotfix set up to track remote branch master from origin.
Switched to a new branch 'hotfix'
$ cd ../hotfix
这里,identifier有什么用?我观察到,如果我在不同的路径上创建另一个工作树,但文件夹名称相同,如 ../abc/hotfix
,它会将标识符分配为 hotfix2
。用户是否使用此标识符,例如使用标识符移动到特定工作树或专门删除它?
这里打印的"identifier"只是内部名称的最后一部分(sb_repo.buf
)。在正常情况下,它对普通用户没有实际意义,但它是 .git/worktrees
中包含指定工作树的管理文件的子目录的唯一名称。 如果您手动重命名工作树(更改其路径),您必须更新这些管理文件之一。 DETAILS section of the git worktree
documentation.
中对此进行了描述
虽然在创建工作树时会打印此标识符,但如果您确实移动添加的工作树,很可能会在很长时间后执行此操作添加它,并且忘记了标识符,所以在我看来,消息本身现在是无用的(即,它可能在开发过程中对开发人员有用,但现在只是剩下的垃圾)。管理文件的路径直接在添加的工作树中的 .git
文件中:
$ cat .git
gitdir: [...]/git/.git/worktrees/hotfix
因为这是您需要了解的内容,您可以通过查看 .git
.
找到它
请注意,在 Git 版本 2.6.0 中,消息已通过 commit cd2f471311 从 Enter %s (identifier %s)
更改为 Preparing %s (identifier %s)
,因此这意味着您是 运行 Git 2.5.x,它有一些小错误,添加了工作树(不是很大,但我建议移动到更高的 Git 版本)。
创建新的 git 工作树时,会显示如下消息
$ git worktree add -b hotfix ../hotfix origin/master
Enter ../hotfix (identifier hotfix)
Branch hotfix set up to track remote branch master from origin.
Switched to a new branch 'hotfix'
$ cd ../hotfix
这里,identifier有什么用?我观察到,如果我在不同的路径上创建另一个工作树,但文件夹名称相同,如 ../abc/hotfix
,它会将标识符分配为 hotfix2
。用户是否使用此标识符,例如使用标识符移动到特定工作树或专门删除它?
这里打印的"identifier"只是内部名称的最后一部分(sb_repo.buf
)。在正常情况下,它对普通用户没有实际意义,但它是 .git/worktrees
中包含指定工作树的管理文件的子目录的唯一名称。 如果您手动重命名工作树(更改其路径),您必须更新这些管理文件之一。 DETAILS section of the git worktree
documentation.
虽然在创建工作树时会打印此标识符,但如果您确实移动添加的工作树,很可能会在很长时间后执行此操作添加它,并且忘记了标识符,所以在我看来,消息本身现在是无用的(即,它可能在开发过程中对开发人员有用,但现在只是剩下的垃圾)。管理文件的路径直接在添加的工作树中的 .git
文件中:
$ cat .git
gitdir: [...]/git/.git/worktrees/hotfix
因为这是您需要了解的内容,您可以通过查看 .git
.
请注意,在 Git 版本 2.6.0 中,消息已通过 commit cd2f471311 从 Enter %s (identifier %s)
更改为 Preparing %s (identifier %s)
,因此这意味着您是 运行 Git 2.5.x,它有一些小错误,添加了工作树(不是很大,但我建议移动到更高的 Git 版本)。