簡體   English   中英

當“git push”到github時出錯

[英]Error when “git push” to github

我在github.com上有一個公共存儲庫,有2個分支: mastertest

我在本地創建了一個新目錄並執行了:

[ ] 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM