使 Git 不跟踪所有分支
Make Git not track all branches
我有 4 个远程分支:A、B、C、D。A 和 B 与我不再相关,但我想将它们保持在远程状态。因此,当我执行 git fetch 时,我只想获取 C 和 D。
如何结帐特定分支
# fetch a remote branch from remote but the catch here is that the branch
# will not have a tracking branch. It will be checked out locally.
git fetch <remote> <remote branch>:refs/remotes/<remotename>/<local branch>
更多注意事项:Git不关心你的提交在哪里。
Git 有一个很大的内容文件 (.pack
),它存储了存储库的所有内容。当您执行 fetch 时,它只是执行来自远程的所有内容。 Git 没有“看到”该文件中的任何分支。
当你检出分支时git检出这个分支的最新提交。您当然可以移动和更改 并将其设置为任何其他提交。
重点是 git 不关心标签、分支等。它只是跟踪内容,因为 sommit 存储其父 git 知道如何从中提取“先前”提交这个文件。
Summary
Git 不跟踪分支或标签。它只是在内部存储它们的 SHA-1,并知道如何在需要时提取它们。
我有 4 个远程分支:A、B、C、D。A 和 B 与我不再相关,但我想将它们保持在远程状态。因此,当我执行 git fetch 时,我只想获取 C 和 D。
如何结帐特定分支
# fetch a remote branch from remote but the catch here is that the branch
# will not have a tracking branch. It will be checked out locally.
git fetch <remote> <remote branch>:refs/remotes/<remotename>/<local branch>
更多注意事项:Git不关心你的提交在哪里。
Git 有一个很大的内容文件 (.pack
),它存储了存储库的所有内容。当您执行 fetch 时,它只是执行来自远程的所有内容。 Git 没有“看到”该文件中的任何分支。
当你检出分支时git检出这个分支的最新提交。您当然可以移动和更改
重点是 git 不关心标签、分支等。它只是跟踪内容,因为 sommit 存储其父 git 知道如何从中提取“先前”提交这个文件。
Summary
Git 不跟踪分支或标签。它只是在内部存储它们的 SHA-1,并知道如何在需要时提取它们。