很抱歉问这个愚蠢的问题。
我正在尝试将我的 repo(本地)复制到另一个本地目录中。如果我只是做CMD + c
和CMD + v
我的回购的,我居然复制我的本地回购的所有分支。如何只复制一个分支?
谢谢
每个 git 存储库都包含整个 git 提交树,因此您无法通过复制和粘贴 git 文件夹来获得仅具有单个分支的 git 存储库。
但是git worktree
是为这种情况而设计的。
只需在原始 git 存储库中键入此命令。
git worktree add -b <your-new-branch-name> <your-new-directory> <your-base-branch>
Run Code Online (Sandbox Code Playgroud)
该命令意味着您将在 path 中创建一个新文件夹your-new-directory
,然后创建一个your-new-branch-name
基于该your-base-branch
分支命名的新分支。
例如,您可以在下面键入此内容以MyAnotherFolder
在原始文件夹旁边创建一个文件夹,并temp/my-copy
基于master
.
git worktree add -b temp/my-copy ../MyAnotherFolder master
Run Code Online (Sandbox Code Playgroud)
如果以后删除该文件夹,请键入此命令以删除工作树引用。
git worktree prune
Run Code Online (Sandbox Code Playgroud)
当我们将 repo 移动到新服务器时,我遇到了同样的问题。
我刚刚从我的旧仓库中做到了:
git push <path_to_new_local_repo> <branch_name>
它工作得很好。