在使用git分支时候,多分支切换是经常遇到的问题。下文两种情况分表介绍一下。
1、本地仓库中存在分支,远程仓库没有分支
假设有本地分支feature/xxx,远程没有分支。此时push或者pull时,就不知道跟踪的是哪个分支?使用以下指令:
git push --set-upstream origin feature/xxx
此时会在远端自动创建分支feature/xxx,会自动和本地分支关联。后面push和pull时,就不用指定分支。
2、本地没有分支,远程仓库有分支。
假设同事在远端创建了分支feature/xxx,但你本地没有该分支。
git checkout --track origin/feature/xxx
此时,本地会自动创建分支feature/xxx与远端分支同名,并与远端分支branch_name关联。不同名时使用指令:
git checkout -b new_feature/xxx feature/xxx
建议使用同名分支。
3、报错:
fatal: 'origin/feature/xxx' is not a commit and a branch 'feature/xxx' cannot be created from it.
执行git pull ,然后在执行以上命令即可。