我看到了不同的检出远程分支的方法:
假设我的朋友推送了新的分支“bigbug”,我想切换本地工作副本到该分支,我有以下选项:
1. git checkout -b bigbug origin/bigbug
2. git checkout -t origin/bigbug
3. git fetch
git checkout bigbug
以上三种选项在当前的git版本中都可用吗?如果所有选项都有效,则它们之间是否有区别,应该使用哪个?
结账命令的基础是:
git checkout --[options] <local branch> <remote>/<tracked branch>
git checkout -b bigbug origin/bigbug
时,你告诉Git执行两个命令:
git checkout -t origin/bigbug
时,你告诉Git执行与上面相同的两个命令。不同之处在于它将使用远程分支的相同名称命名本地分支(在第一个示例中,您可以更改远程分支的名称为任何您想要的名称)。-t选项与--track相同。git fetch
时,你告诉Git查找远程存储库以获取新的提交、分支等。然后当你运行git checkout bigbug
时,你告诉它将工作区更改为匹配bigbug分支。如果你有一个同名的本地分支,Git会检出它。如果没有,它将查找匹配名称的远程分支,然后创建一个同名的本地分支。