[英]Error when “git push” to github
我在github.com上有一個公共存儲庫,有2個分支: master
和test
。
我在本地創建了一個新目錄並執行了:
[ ] git clone git@github.com:{username}/{projectname}.git
然后我創建了一個名為my_test
的新分支
[ ] git branch my_test
並切換到它。
[ ] git checkout my_test
然后我將其與我的公共存儲庫的test
分支合並
[ ] git merge origin/test
它導致了快速前進。
我做了一些改變並承諾了。 然后我嘗試將本地my_test
分支推my_test
github上的公共test
分支
[ ] git push git@github.com:{username}/{projectname}.git test
但是我收到了這個錯誤:
error: src refspec test does not match any.
fatal: The remote end hung up unexpectedly
error: failed to push some refs to 'git@github.com:{username}/{projectname}.git
我究竟做錯了什么 ?
也許試試:
git push git@github.com:{username}/{projectname}.git HEAD:test
該命令行上最后一個參數的格式是refspec ,它是一個源ref,后跟一個冒號,然后是目標ref。 您也可以使用本地分支名稱( my_test
)而不是HEAD來確定您正在推送正確的分支。
git push
的文檔有關於此參數的更多詳細信息。
此外,每次要推送時都不需要輸入整個URL。 當您運行克隆時,git將該URL保存為“origin”,這就是為什么您可以運行“merge origin / test”之類的東西 - 它意味着“origin”服務器上的“test”分支。 因此,在這種情況下推送到服務器的最簡單方法是:
git push origin my_test:test
這會將您的本地“my_test”分支推送到“origin”服務器上的“test”分支。 如果您將本地分支命名為與服務器上的分支相同,則冒號不是必需的,您只需執行以下操作:
git push origin test
如果您嘗試在沒有先提交任何內容的情況下嘗試推送到新存儲庫,也會出現此錯誤。 嘗試:
git add -A
git commit -am 'Initial commit'
然后再試一次。
我想在這里你需要設置分支跟蹤。 請運行以下命令以啟用跟蹤
git branch --track my_test origin/my_test
去測試
git push -u origin my_test
git pull origin my_test
您需要確保本地存儲庫與您嘗試推送的遠程存儲庫具有相同的名稱。
首先,使用git branch -m“test”更改存儲庫,以便“my_test”為“test”。 第二,只是git push origin test
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.