【问题标题】:Pushing a local branch up to GitHub将本地分支推送到 GitHub
【发布时间】:2011-06-12 17:59:42
【问题描述】:

我配置了 Git,这样当我运行 git push 时,它会将更改推送到我的 GitHub 存储库。到目前为止,我只有一个 master 分支。

但是,我现在创建了一个本地分支并使用:

git checkout -b my_new_branch
git commit

我现在想做的是把我在这个分支上的更改推送到 GitHub。我只是做一个 git push 吗?

当我第一次设置它时,我确实运行了:

git config push.default current

【问题讨论】:

  • 您的问题到底是什么?使用push.default 设置这种方式,是的,git push 会将当前分支推送到原点,这是您的 github 存储库,假设您从那里克隆。 (如果需要,您可以使用 branch.my_new_branch.remote 指定不同的遥控器。)那么您是否尝试过这个并让它不起作用?
  • 如果您希望所有本地分支都推送到同一个远程分支,请明确:git push origin HEAD:remote_branch

标签: git github git-push


【解决方案1】:

我相信您正在寻找 git push origin my_new_branch,假设您的源远程配置为访问您的 github 存储库。

【讨论】:

  • 如果你想和其他人一起在这个分支上工作并因此执行 git pull 你会想要为你的新分支设置跟踪信息:git branch --set-upstream-to=origin/my_new_branch my_new_branch
【解决方案2】:

根据您的本地 git 设置,如果您签出的分支不是您克隆的分支,也不是您尝试推送的分支,git 不会推送您的本地分支。

这是它提供的信息:

警告:push.default 未设置;它的隐含值在 Git 中发生了变化 2.0 从“匹配”到“简单”。要压制此消息并保持传统行为,请使用:

git config --global push.default 匹配

要压制此消息并立即采用新行为,请使用:

git config --global push.default 简单

当 push.default 设置为 'matching' 时,git 会推送本地分支 到已经存在的同名远程分支。

从 Git 2.0 开始,Git 默认使用更保守的“简单” 行为,仅将当前分支推送到相应的分支 'git pull' 用来更新当前分支的远程分支。

请参阅“git help config”并搜索“push.default”以获取更多信息 信息。 (“简单”模式是在 Git 1.7.11 中引入的。使用 如果您有时使用较旧的模式,则类似模式“当前”而不是“简单” Git 版本)

致命:当前分支MyLocalBranch 没有上游分支。推动 当前分支并将远程设置为上游,使用

git push --set-upstream origin MyLocalBranch

【讨论】:

    【解决方案3】:

    如果你真的很懒,你可以push all local branches简单地使用

    git push --all
    

    --全部

    推送所有分支(即refs/heads/下的引用);不能与 其他<refspec>

    【讨论】:

      【解决方案4】:

      如果你已经将你的 git 配置为推送到你的 GitHub 主仓库,无论你在哪个分支,它都会推送到你的 GitHub 主仓库。

      请记住,如果许多开发人员在同一个存储库中工作,您可能会发生冲突。

      【讨论】:

      • 我确实运行了 git config push.default current
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-23
      • 1970-01-01
      • 2013-12-23
      • 2016-10-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多