问:

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

更新:我写了一个simpler answer for Git 2.0 here。

答1:

一个优秀的自由职业者,应该有对需求敏感和精准需求捕获的能力,而huntsbot.com提供了这个机会

首先,创建一个新的本地分支并检查它:

git checkout -b 

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

git push   

通常是 origin,这是 git 为您克隆的远程设备提供的名称。然后,您的同事可能会简单地拉该分支。

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

git push  :

但是当你省略一个时,它假定两个分支名称是相同的。话虽如此,作为注意的一句话,不要犯只指定:(带冒号)的严重错误,否则远程分支将被删除!

为了让后续的 git pull 知道要做什么,您可能希望使用:

git push --set-upstream   

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

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

请注意,git 的默认行为是推送 matching 引用,因此如果分支不在 上,git push 将不会推送它。

您可能想改用 git push -u ,以便后续的 git pull 知道该做什么。

您可以只使用 origin,而不是显式指定服务器名称,这意味着“我从中获得了此 repo 其余部分的服务器”:因此是 git push origin 。

如果您忘记使用 -u 选项,您可以稍后在分支中键入 git push -u,然后 git pull 将起作用。

综上所述,git push -u origin 对我有用。

答2:

保持自己快人一步,享受全网独家提供的一站式外包任务、远程工作、创意产品订阅服务–huntsbot.com

首先,您必须在本地创建您的分支

git checkout -b your_branch

之后,你可以在你的分支本地工作,当你准备好共享分支时,推送它。下一个命令将分支推送到远程存储库源并跟踪它

git push -u origin your_branch

队友可以通过以下方式到达您的分支:

git fetch
git checkout origin/your_branch

您可以继续在分支中工作并随时推送,而无需将参数传递给 git push(无参数 git push 会将 master 推送到远程 master,your_branch 本地到远程 your_branch 等…)

git push

队友可以通过提交推送到您的分支,然后显式推送

... work ...
git commit
... work ...
git commit
git push origin HEAD:refs/heads/your_branch

或跟踪分支以避免 git push 的参数

git checkout --track -b your_branch origin/your_branch
... work ...
git commit
... work ...
git commit
git push

有没有办法在不创建同名本地分支的情况下创建远程分支?

@ArielGabison 不是 100% 确定你的意思,因为你通常在本地开始你的工作(即首先命名的本地分支)或拉一个现有的远程分支。但是您可以在最初将其推送到远程时指定一个新名称:git push -u origin [local-branch-name]:[remote-branch-name]。您还可以在拉取远程分支时指定自己的分支名称:git branch -t -b [local-branch-name] origin/[remote-branch-name]。

答3:

huntsbot.com全球7大洲远程工作机会,探索不一样的工作方式

简单的 Git 2.0+ 解决方案:

从 Git 2.0 开始,行为变得更加简单:

您可以使用 push.default = current 配置 git 以使生活更轻松:

我添加了这个,所以现在我可以向上游推送一个新分支

$ git push -u

-u 将跟踪同名的远程分支。现在使用此配置,您将自动猜测对 git push 的远程引用。从 git.config documentation:

push.default 定义如果没有明确给出 refspec,git push 应该采取的行动。 push.default = current - 推送当前分支以更新接收端同名的分支。适用于中央和非中央工作流程。

对我来说,这是对我日常 Git 工作流程的一个很好的简化。配置设置处理“通常”用例,您在本地添加分支并希望远程创建它。此外,我可以通过执行 git co remote_branch_name(而不是使用 --set-upstream-to 标志)轻松地从远程创建本地分支。

我知道这个问题和接受的答案相当陈旧,但行为已经改变,因此现在存在配置选项以使您的工作流程更简单。

要添加到全局 Git 配置,请在命令行上运行:

$ git config --global push.default current

我发现 git push -u origin HEAD 作为回答 here 有点冗长(你写你正在做的事情),而不是太多的打字。此外,如果分支是使用 -t 创建的,那么没有附加参数的 git push -u 对我不起作用

git config --global push.default upstream && git checkout -b foo && && git push -u 不起作用(从 git 2.19.1 开始); push 需要远程和分支参数。

您能否详细说明 git co remote_branch_name 的含义?

没有为我工作。通过添加到 ~/.profile 解决:function gitb() { git checkout -b $1 && git push --set-upstream origin $1; } 然后可以执行 gitb feature/abcd - 这为 git pull 和 git push 设置它而没有额外的参数 + 将新分支推送到远程 repo 以验证名称是否真实自由的。

@youurayy 您可能还忘记将 -u 标志添加到 git push -u 并检查您的 git config --list 是否包含 push.default=current 对我来说,git push -u 才有效。另请注意,从 Git v2.27 开始,系统会提示您设置默认推送策略。所以也许你的默认值没有什么不同?

答4:

huntsbot.com – 程序员副业首选,一站式外包任务、远程工作、创意产品分享订阅平台。

如前面的答案所述,

git push  :

足以推动本地分支。

您的同事可以使用以下命令拉取所有远程分支(包括新分支):

git remote update

然后,要对分支进行更改,通常的流程:

git checkout -b  /

我喜欢这个,因为它允许远程名称与本地名称不同

太好了,我现在可以酒吧了。

答5:

huntsbot.com – 程序员副业首选,一站式外包任务、远程工作、创意产品分享订阅平台。

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

git checkout -b newbranch

像往常一样提交任何更改。然后,将其推送到上游:

git push -u origin HEAD

这是将当前分支推送到 origin 上的同名分支并对其进行跟踪的快捷方式,以便您以后无需指定 origin HEAD。

这对我有帮助:git push -u origin HEAD。我认为这是最明确的方法。

是的,你永远不会记得你最后一次输入的分支是什么,所以这是要走的路。

@marksyzm 如果您不记得自己在哪个分支上或给它起什么名字,那么您可能根本不应该推动!至少,必须先运行 git status。

是的,必须确保世界不会因为那次推动而爆炸;我同意。

这是同时创建跟踪分支和远程分支的最有效方式。我还想添加 git remote show origin 作为第三步,以可视化新的跟踪/被跟踪关系。

答6:

huntsbot.com全球7大洲远程工作机会,探索不一样的工作方式

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

git checkout -b {your_local_branch_name}

你想要一个远程分支的分支,你可以试试

git checkout -b {your_local_branch_name} origin/

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

git add -A or git add 

然后在本地做一个提交

git commit -m 'your commit message'

当你想推送到远程仓库时

git push -u origin 

一起将是

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

答7:

与HuntsBot一起,探索全球自由职业机会–huntsbot.com

[快速回答]

您可以分两步完成:

  1. 使用 checkout 创建本地分支:
git checkout -b yourBranchName

  1. 使用 push 命令自动创建分支并将代码发送到远程存储库:
git push -u origin yourBranchName

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

答8:

一个优秀的自由职业者,应该有对需求敏感和精准需求捕获的能力,而huntsbot.com提供了这个机会

如果您实际上只想创建远程分支而没有本地分支,则可以这样做:

git push origin HEAD:refs/heads/foo

它将您的 HEAD 推送到远程不存在的分支 foo 。

这样做完全混淆了我的 Visual Studio,以至于它无法正确启动。团队资源管理器根本无法加载,但其他所有内容都疯狂地抛出错误。仅供参考。

这听起来应该可以,但是当我实际尝试时,我们的 gitlab 服务器没有将结果识别为分支。

foo 在遥控器上分支出哪个分支?如果我想让 foo 从 foo2 分支出来怎么办?那可能吗?谢谢你。

它也适用于 gerrit 服务器,在远程创建一个在此命令之前不存在的新分支。

答9:

huntsbot.com汇聚了国内外优秀的初创产品创意,可按收入、分类等筛选,希望这些产品与实践经验能给您带来灵感。

最简单的解决方案…鼓滚… git 版本 2.10.1 (Apple Git-78)

1) git checkout -b localBranchNameThatDoesNotExistInRemote

2) Do your changes, and do a git commit 

3) git push origin localBranchNameThatDoesNotExistInRemote --force

注意 - 您刚刚在本地环境中创建的分支,以及您尝试推送的远程不存在的分支,必须具有相同的名称。

谢谢你的建议。即使您称这是一个简单的解决方案,我仍然认为 git push -u 更容易。要求您有一个全局配置行,请参阅 stackoverflow.com/a/27185855/109305。我经常使用 git push -u,它在工作时涵盖了我 99% 的用例。

答10:

huntsbot.com – 高效赚钱,自由工作

首先在本地创建分支:

git checkout -b your_branch

然后远程创建分支:

git push --set-upstream origin your_branch

注意:这适用于最新版本的 git:

$ git --version
git version 2.3.0

干杯!

这只是当您的本地分支未被远程跟踪时命令 git push 生成的帮助文本。

答11:

一个优秀的自由职业者,应该有对需求敏感和精准需求捕获的能力,而huntsbot.com提供了这个机会

在本地机器上创建分支并切换到这个分支:

$ git checkout -b [name_of_your_new_branch]

在 github 上推送分支:

$ git push origin [name_of_your_new_branch]

当您想在分支中提交某些内容时,请确保在您的分支中。

您可以查看使用以下命令创建的所有分支:

$ git branch

这将显示:

* approval_messages
  master
  master_clean

为您的分支添加一个新的遥控器:

$ git remote add [name_of_your_remote] 

将提交中的更改推送到您的分支:

$ git push origin [name_of_your_remote]

当官方存储库中的原始分支已更新时更新您的分支:

$ git fetch [name_of_your_remote]

然后你需要申请合并更改,如果你的分支是从开发派生的,你需要做:

$ git merge [name_of_your_remote]/develop

删除本地文件系统上的分支:

$ git branch -d [name_of_your_new_branch]

要强制删除文件系统上的本地分支:

$ git branch -D [name_of_your_new_branch]

删除 github 上的分支:

$ git push origin :[name_of_your_new_branch]

Here All Information

Other Existing project

原文链接:https://www.huntsbot.com/qa/A8Ev/how-do-i-create-a-remote-git-branch?lang=zh_CN&from=csdn

huntsbot.com聚合了超过10+全球外包任务平台的外包需求,寻找外包任务与机会变的简单与高效。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐