Git + sourcetree clone and branch create - 为什么只有一个本地副本?

Git + sourcetree clone and branch create - why only one local copy?

我刚开始git。

我已经从 sourcetree 克隆了 main,得到了文件夹中的所有文件。然后我创建了一个分支,然后是另一个分支,但在我的本地副本中它仍然只是所有文件夹的一个副本。但是如果我需要在一个分支中本地更改文件而在另一个分支中保持不变,我怎样才能让每个分支都创建不同的本地副本?

听起来你有颠覆(或类似)背景。这就是使用 git 的 默认 方式。单个 工作树 用于在单独的分支中移动。如果您的背景是在 svn 上,想象一下拥有一个 working copy 并使用 svn switch 移动而不是创建更多 working copies 会是什么感觉。它或多或少是一样的......除了四处移动非常快,因为结账操作是本地的。对于您的问题,这可能是最重要的事情:当您从一个分支切换到另一个分支时,文件将更改为您在工作树中切换到的分支。

可以有多个工作树,通过git worktree:

# add a couple of working trees
git worktree add dir1 main # create a worktree in directory dir1 that uses branch main
git worktree add dir2 dev # create a worktree in directory dir2 that uses branch dev
git worktree list # show the 3 worktrees that you now have

但是如果您是初学者,我建议您使用单一的工作树,直到您掌握它的窍门....除非您有 真正的 需要它。