Git 提交和 Git 推送分支是否特定于

问题描述

我目前正在一个 git 分支上工作,所以我克隆了它并开始像往常一样修改东西,但是如果我以通常的方式提交 (git add . -> git commit -m "" -> git push) 会它推送到正确的分支?或者是否有我需要执行的特定命令,我正在生产中处理代码,所以我不会不小心推送到错误的分支

解决方法

运行 git branch -vv 将显示默认情况下 git push 将推送到哪个分支。例如,在我系统的本地存储库中,运行 git branch -vv 显示:

$ git branch -vv
* devel              c557af4 [origin/devel: ahead 14,behind 26] Add tests for create_sprint_board
  devel.stgit        f51dcdd goto
  master             4239189 [upstream/master: behind 6] disable create-sprint-boards pending #10
  save/before-squash d5b7980 add tests for create_sprint_board
  work               8bf0290 log warning if --copy-cards and no previous board

在这里我们看到在 git push 分支上运行 devel 将推送到名为 devel 的远程的 origin 分支,并在其上运行 git push master 分支将推送到名为 master 的远程的 upstream 分支。

其他分支——比如work——还没有与之关联的“跟踪分支”。在这些分支上,运行 git push 将导致:

fatal: The current branch work has no upstream branch.
To push the current branch and set the remote as upstream,use

    git push --set-upstream origin work