如何在git中切换到不同的远程分支

san*_*non 17 git

我有3个本地和3个远程分支,并希望两者都在同一个分支上.

在当地:

git branch
  A
* B
  master

git branch -r
  origin/A
  origin/B
  origin/master
Run Code Online (Sandbox Code Playgroud)

在远程:

git branch
  A
  B
* master
Run Code Online (Sandbox Code Playgroud)

我可以提交,推送和拉B但我的更新挂钩部署master而不是B,我想因为远程分支仍然设置为master.我创建了分支B使用:

git branch B
git checkout B
git push origin B
Run Code Online (Sandbox Code Playgroud)

小智 30

下面是我切换和工作git存储库的远程分支的方法.

首先查看所有分支,只需在终端输入以下命令:

git branch --all
Run Code Online (Sandbox Code Playgroud)

然后你会看到本地和远程的所有分支.像这样的东西:

*master
remotes/origin/develop
remotes/origin/master
remotes/origin/web
remotes/origin/app
Run Code Online (Sandbox Code Playgroud)

我们假装你想切换到remotes/origin/develop分支机构.类型如下:

git checkout remotes/origin/develop
Run Code Online (Sandbox Code Playgroud)

然后git branch --all再次键入以查找:

*(detached from remotes/origin/develop)
master
remotes/origin/develop
remotes/origin/master
remotes/origin/web
remotes/origin/app
Run Code Online (Sandbox Code Playgroud)

然后就是:

git checkout -b develop
Run Code Online (Sandbox Code Playgroud)

从现在开始,你正在remotes/origin/develop准确地在分支机构工作.

  • 我认为答案略有不同。OP询问如何切换远程仓库的当前分支.. (2认同)

SAB*_*AB6 8

To switch to a remote repo
git branch -r ## list all the branches including the remote branches
git switch <branchname>
Run Code Online (Sandbox Code Playgroud)


dah*_*byk 5

据我所知,没有办法用git push. 推送只会将您的本地更改复制到该存储库中。通常,您推送到的遥控器应该是--bare,没有工作目录(因此没有“当前分支”)。