爲什麼這兩個命令產生這些結果:爲什麼git push的工作方式不同於git push origin <branch>?
(主簽出) git的結帳的β GIT中推
(測試版已簽出) GIT中推原點的β
我問,因爲前者導致在AWS CodeCommit錯誤(403),而後者推到分支就好了。另外,我得到一個警告,每當我結帳公測,我是+20犯提前起源分支:
「你的分支是提前‘codecommit原產/測試’的38個提交」
爲什麼這兩個命令產生這些結果:爲什麼git push的工作方式不同於git push origin <branch>?
(主簽出) git的結帳的β GIT中推
(測試版已簽出) GIT中推原點的β
我問,因爲前者導致在AWS CodeCommit錯誤(403),而後者推到分支就好了。另外,我得到一個警告,每當我結帳公測,我是+20犯提前起源分支:
「你的分支是提前‘codecommit原產/測試’的38個提交」
注:這個答案是一般git push
而不是混帳與AWS
git push
發生在作爲要發送的代碼(起源),以及您是從發送代碼分支參數。因此,如果您在許多代碼示例中看到,git push origin master
會將您的master
分支中的代碼推送到origin
。如果輸入命令git push origin beta
,則可以從本地beta
分支推送到遠程origin
存儲庫的beta
分支。 git checkout
是切換您目前正在使用的分支的命令。因此,git checkout beta
切換你的本地庫到beta branch
,如果你進行修改和提交它們(確保切換分支之前提交!),他們只會在beta
改變科。同樣,git checkout master
切換到您的主分支。由於您指定將哪個分支推送爲第二個參數,因此您從哪個分支運行git push
並不重要。
它與你的混帳配置push.default
設置做。要查看您的設置運行:
$ git config -l
(記住,你可以有3個不同的git的設置:全球性的,系統的,當地有兩種--global
--system
或--local
運行上面的命令可以查看每個設置的值。)
如果只是用git push
,但不指定其中你是推到,git會利用規則爲push.default
設置。爲了避免意外的行爲,總是冗長,並指定要推到,即:git push origin beta
這個問題的原因是因爲當我檢查了主,遠程URL是正確的,但當我試用beta版時,遠程URL改爲URL的http版本,而不是正確的ssh版本。 更正URL(GIT遠程設置網址--push)解決了這個問題,並導致我相信,遙控器的URL取決於哪個分支簽出,使得第一場景和第二場景不同。 –
SimonStiph