205

我已经有一个本地主分支跟踪 github 项目的远程主分支。现在,我的一个合作者在同一个项目中创建了一个新分支,我想相应地执行以下操作:

  1. 在本地创建一个新分支
  2. 使这个新分支跟踪新创建的远程分支。

我应该如何正确地做到这一点?

4

5 回答 5

277
git fetch
git branch --track branch-name origin/branch-name

第一个命令确保您在本地存储库中有远程分支。第二个命令创建跟踪远程分支的本地分支。它假定您的远程名称是origin并且分支名称是branch-name

--track远程分支默认启用选项,您可以省略它。

于 2012-06-29T13:33:55.530 回答
39

如果您没有现有的本地分支,它真的很简单:

git fetch
git checkout <remote-branch-name>

例如,如果您 fetch 并且有一个名为 的新远程跟踪分支origin/feature/Main_Page,只需执行以下操作:

git checkout feature/Main_Page

这将创建一个与远程分支同名的本地分支,跟踪该远程分支。如果您有多个具有相同分支名称的遥控器,则可以使用不那么含糊的:

git checkout -t <remote>/<remote-branch-name>

如果您已经创建了本地分支并且不想删除它,请参阅如何使现有的 Git 分支跟踪远程分支?.

于 2015-03-20T23:07:10.723 回答
33

首先,您必须获取远程存储库:

git fetch remoteName

您可以创建新分支并将其设置为跟踪您想要的远程分支:

git checkout -b newLocalBranch remoteName/remoteBranch

您还可以使用“git branch --track”而不是“git checkout -b”作为指定的最大值。

git branch --track newLocalBranch remoteName/remoteBranch
于 2012-07-12T06:17:31.380 回答
9

当分支不是远程分支时,您可以将本地分支直接推送到远程。

git checkout master
git push origin master

或者当你有一个 dev 分支时

git checkout dev
git push origin dev

或者当远程分支存在时

git branch dev -t origin/dev

还有其他一些推送远程分支的可能性。

于 2012-06-29T13:34:56.260 回答
0

步骤如下:

  1. 首先获取克隆命令到这一步后创建的所有分支->“git fetch”
  2. 现在,检查什么是远程分支命令到这一步 -> “git branch -r”
  3. 检查您在日志历史记录中的位置 此步骤的命令 -> "git log --oneline --all --graph"
  4. 分配一个新分支来跟踪远程分支命令到这一步 -> “git branch branch_name origin/remote_branch_name”
  5. 之后,使用第 3 步命令或“git branch”检查您的日志历史记录
于 2021-08-26T22:34:41.733 回答