我已经看到了检查现有远程分支的不同方法:
假设我的朋友推出了新的分支'bigbug',我想检查并将我的本地工作副本切换到该分支,我有以下选项:
1. git checkout -b bigbug origin/bigbug
2. git checkout -t origin/bigbug
3. git fetch
   git checkout bigbug
当前git版本中是否有以上三个选项可用且有效?如果一切都有效那么它们和使用哪一个有什么区别?
小智 27
checkout命令的基础是:
git checkout --[options] <local branch> <remote>/<tracked branch>
当你执行a时,git checkout -b bigbug origin/bigbug你要对Git执行两个命令:
当你执行时,git checkout -t origin/bigbug你正在告诉Git执行上面相同的两个命令.不同之处在于它将使用远程分支的相同名称命名本地分支(在第一个示例中,您可以将远程分支的名称更改为您想要的任何名称).该-t选项相同的--track.
在你的上一个命令中,当你运行时:git fetch你告诉Git在远程存储库中查找新的提交,分支等.然后当你运行git checkout bigbug时告诉它改变工作区以匹配bigbug分支.如果你有一个具有该名称的本地分支,Git将结帐.如果没有,它将查找远程分支到一个匹配的名称,然后创建一个具有相同名称的本地分支.
所以,当你使用一个或另一个时,它取决于你想要什么.大多数情况下它们将以相同的方式工作(除了在最后一个示例中,当您已经拥有一个具有相同远程分支名称的本地分支时).最重要的是确切地知道命令和选项的作用,并根据您的需要将它们组合起来.
| 归档时间: | 
 | 
| 查看次数: | 21898 次 | 
| 最近记录: |