将分支推送到Git

58

我有一个本地仓库正在进行工作,它的远程存储库托管在GitHub上。最近我创建了一个分支并开始在其上工作,进行了多次提交,现在希望将该分支推送到GitHub,并能够在另一个克隆的存储库中拉取它。我应该如何做?


有关工作流的更多信息,请访问:https://dev59.com/53A75IYBdhLWcg3wYH3I#9204499 - Michael Durrant
这不是一个很有见地的问题标题,呃。 - Monica Heddneck
4个回答

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

<local-branch-name><remote-branch-name>替换为您想要的本地分支名称和远程分支名称,它们可以相同也可以不同。


2
这是否意味着我可以执行 "git pull origin <REMOTE-branch-name>:<LOCAL-branch-name>" 命令? - PHLAK
4
是的,您可以在git pull中使用相同的refspec。 - Alan Haggai Alavi
@AlanHaggaiAlavi 但那不是同一个refspec。 - Slipp D. Thompson

18

既然你已经设置好了远程仓库,那么命令就是这样的

git push origin branch-name
第一次推送时,只推送当前分支。之后,使用git push origin将会推送所有与远程同名的分支。

6

请确保你的远程URL使用SSH语法而不是仅使用Git协议语法。如果你运行以下命令:

git remote show origin

打印的URL应该类似于:

git@github.com:yourname/projectname.git

如果您想推送内容,那么URL也需要像这样。如果您只是一个公共用户(没有写入权限),则URL看起来会像这样:
git://github.com/yourname/projectname.git

如果你的情况属于后者,那么你可以在项目的.git/config文件中手动进行编辑。

我已经可以将代码推送和拉取到我的GitHub仓库,现在我只是想弄清楚如何推送和拉取一个分支。 - PHLAK

3

如果您需要将任何分支的代码从远程拉到本地

$git pull origin branch_name

如果您需要将代码推送到您的分支,您需要检查代码是否成功保存。

您可以通过以下方式进行检查:

$git status

than

$git add -A

在此之后,将提交到您的分支。
$git commit -m "this is initial change"

比上次更改

将你的代码推送到你的分支:
$git push origin branch_name

"git pull origin branch_name" - 如果没有任何本地分支,这似乎会拉取到一个新的本地分支。 - Dmitri Zaitsev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接