我创建了一个本地分支。如何将其推送到远程服务器?

更新:我在这里为Git2.0写了一个更简单的答案。


当前回答

首先,创建一个新的本地分支并签出:

git checkout -b <branch-name>

当您将远程分支推送到远程服务器时,将自动创建远程分支:

git push <remote-name> <branch-name> 

<remote name>通常是origin,这是git给从中克隆的远程设备的名称。然后,你的同事可以简单地拉那根树枝。

但请注意,正式的格式是:

git push <remote-name> <local-branch-name>:<remote-branch-name>

但如果省略一个,则假定两个分支名称相同。说了这句话,作为一个警告,不要犯只指定:<remote branch name>(带冒号)的严重错误,否则远程分支将被删除!


为了让后续的git pull知道该怎么做,您可能需要使用:

git push --set-upstream <remote-name> <local-branch-name> 

如下所述,--set upstream选项设置上游分支:

对于每个最新或成功推送,添加上游(跟踪)引用,由使用无参数git pull(1)和其他命令。

其他回答

从Git2.37.0开始,您不再需要“--setupstreamorigin”。只要按一下。您可以通过启用push.autoSetupRemote选项来实现这一点

git-config--global--add--bool push.autoSetupRemote true

[快速回答]

您可以分两步完成:

1.使用签出创建本地分支:

git checkout -b yourBranchName

2.使用push命令自动创建分支并将代码发送到远程存储库:

git push -u origin yourBranchName

有多种方法可以做到这一点,但我认为这种方法非常简单。

如果要从当前分支创建分支

git checkout -b {your_local_branch_name}

如果您想要远程分支的分支,可以尝试

git checkout -b {your_local_branch_name} origin/<remote_branch_name>

如果完成了更改,则可以添加文件。

git add -A or git add <each_file_names>

然后在本地提交

git commit -m 'your commit message'

当您想推送到远程回购时

git push -u origin <your_local_branch_name>

所有人都将

git checkout -b bug_fixes 

或如果要从远程分支创建本地分支bug_fixes,请说development

git checkout -b bug_fixes origin/development

您可以通过

git push -u origin bug_fixes

任何时候你想从任何其他分支更新你的分支,比如master,

git pull origin master

基于当前分支在本地创建新分支:

git checkout -b newbranch

按正常方式提交任何更改。然后,将其向上推:

git push -u origin HEAD

这是一个快捷方式,可以将当前分支推送到原点上同名的分支并跟踪它,这样以后就不需要指定原点HEAD了。

我使用了两种方法来创建分支

如果您正在使用TortoiseGit,请执行以下步骤:-

1.使用TortoiseGit创建分支

右键单击您的项目>>TortoiseGit>>创建分支>>编写分支的名称并选择基本分支,然后按ok

2.推动分支

右键单击项目>>TortoiseGit>>推送>>单击确定

3.切换到新分支

右键单击您的项目>>TortoiseGit>>切换/签出>>选择新创建的分支并按ok

如果使用命令提示符,请执行以下步骤:-

1.使用命令提示符创建分支

$git签出-b new_branch_name

2.推动分支

$git推送原点new_branch_name

3.切换到新分支它已经切换为new_branch_name,否则您可以使用

$git签出new_branch_name