git - 有没有一种简单的方法可以将现有的非空目录附加为 git 工作树?

标签 git

例如,我有/tmp/foo Git 仓库、etc 分支和非空的/etc 目录。我希望将 /etc 目录作为工作树附加到 etc 分支。 git worktree add/etc etc 由于“已经存在”而无法工作。

我在 Git 开发人员之间看到了一些旧的讨论,但不确定现在这个案例/问题是否已经解决。

我知道我可以执行如下内容:

  • git worktree 添加/tmp/bar 等
  • /tmp/foo/.git/worktrees/bar 重命名为 /tmp/foo/.git/worktrees/etc
  • 编辑/tmp/foo/.git/worktrees/etc/gitdir
  • 创建正确的 /etc/.git 文件,指向 /tmp/foo/.git/worktrees/etc

但我想知道在现代 Git 中是否有更方便的方法来做到这一点?

最佳答案

git worktree ( for supporting multiple working trees ) 没那么老(2015 年 7 月首次推出)

但它确实需要一个空文件夹。
这意味着“更简单”的解决方法是重命名目标文件夹,使用正确的名称创建工作树,然后用重命名的文件夹替换新文件夹的内容。

关于git - 有没有一种简单的方法可以将现有的非空目录附加为 git 工作树?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59888235/

相关文章:

git - 在某个提交后删除分支中的所有提交

git - 获取目录的提交 ID

git - Bitbucket 的 pull 请求模板

git - 如何将提交恢复为分支中的新提交

git - git 分支名称是否会保留在项目历史记录中?

ios - 使用不同版本的 Xcode 创建的分支在 git 中真的不同吗?

Git 提交消息漂亮格式 : Is there a way to format multi-line body

python - 退出状态为 128 的子进程调用

php - 使用 ssh 从 github 部署到 linux 服务器但权限被拒绝(公钥)。 PHP脚本

git - 我如何从 git repo 中完全核对一个文件?