问题描述
我目前正在一个 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