我有三个本地分支和三个远程分支,并且希望两个分支位于同一分支上。
本地:
git branch
A
* B
master
git branch -r
origin/A
origin/B
origin/master
远程:
git branch
A
B
* master
我能够提交、推送和拉取 B,但我的更新挂钩部署了 master 而不是 B。我想是因为远程分支仍然设置为 master。我使用以下方法创建了分支 B:
git branch B
git checkout B
git push origin B
下面是我切换并工作于 Git 存储库的远程分支的方法。
首先查看所有分支,只需在终端中输入以下命令:
git branch --all
然后您将看到本地和远程的所有分支。像这样的东西:
*master
remotes/origin/develop
remotes/origin/master
remotes/origin/web
remotes/origin/app
假设您想切换到
remotes/origin/develop
分支。输入以下内容:
git checkout remotes/origin/develop
然后再次输入
git branch --all
即可找到:
*(detached from remotes/origin/develop)
master
remotes/origin/develop
remotes/origin/master
remotes/origin/web
remotes/origin/app
然后就做:
git checkout -b develop
从现在开始,您将完全在
remotes/origin/develop
分支上工作。
切换到远程仓库
git branch -r ## list all the branches including the remote branches
git switch <branchname>
据我所知,无法使用
git push
更改远程的当前分支。推送只会将本地更改复制到该存储库中。通常,您推送到的遥控器应该是--bare
,没有工作目录(因此没有“当前分支”)。