为什么这两个命令会产生这些结果:
(master 已签出) git checkout beta git push
(测试版已签出) git push origin beta
我问是因为前者在 AWS CodeCommit 中导致错误(403),而后者推送到分支就好了。此外,每当我签出 beta 版时,我会收到一条警告,指出我在 origin 分支之前提交了 +20:
“你的分支领先于 'codecommit-origin/beta' 38 次提交。”
为什么这两个命令会产生这些结果:
(master 已签出) git checkout beta git push
(测试版已签出) git push origin beta
我问是因为前者在 AWS CodeCommit 中导致错误(403),而后者推送到分支就好了。此外,每当我签出 beta 版时,我会收到一条警告,指出我在 origin 分支之前提交了 +20:
“你的分支领先于 'codecommit-origin/beta' 38 次提交。”
它与您的 git configpush.default
设置有关。要查看您的设置运行:
$ git config -l
(请记住,您可以有 3 种不同的 git 设置:全局、系统、本地。使用--global
--system
或运行上述命令--local
以查看为每个设置设置的值。)
如果您只是使用git push
但没有指定您要推送到的位置,git 将使用push.default
设置规则。为避免意外行为,请始终保持详细并指定要推送到的位置,即:git push origin beta
注意:这个答案是针对git push
一般情况的,而不是针对 AWS 的 git
git push
接受您要发送代码的参数(原点),以及您从中发送代码的分支。因此,如果您在许多代码示例中看到,git push origin master
将代码推送到origin
您的master
分支。如果输入 command ,则从本地分支git push origin beta
推送到beta
远程存储库的分支。是一个切换您当前正在工作的分支的命令。因此,将您的本地存储库切换到,如果您进行更改并提交它们(确保在切换分支之前提交!)它们只会在分支中更改。同样,切换到您的主分支。运行哪个分支并不重要origin
beta
git checkout
git checkout beta
beta branch
beta
git checkout master
git push
from,因为您指定要推送的分支作为第二个参数。