22

私は github.com に 2 つのブランチを持つ公開リポジトリを持っています:mastertest.

ローカルに新しいディレクトリを作成し、次のことを行いました。

[ ] git clone git@github.com:{username}/{projectname}.git

my_test次に、 with という名前の新しいブランチを作成しました

[ ] git branch my_test

そしてそれに切り替えました。

[ ] git checkout my_test

test次に、パブリックリポジトリのブランチ からマージしました

[ ] git merge origin/test

そしてそれは早送りをもたらしました。

いくつかの変更を加えてコミットしました。次に、ローカルブランチをgithub my_testのパブリックブランチにプッシュしようとしました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

私は何を間違っていますか?

4

5 に答える 5

30

おそらく試してみてください:

git push git@github.com:{username}/{projectname}.git HEAD:test

そのコマンド ラインの最後のパラメーターの形式は、ソース ref の後にコロンと宛先 ref が続くrefspecです。HEAD の代わりにローカル ブランチ名 ( my_test) を使用して、正しいブランチをプッシュしていることを確認することもできます。

のドキュメントにgit pushは、このパラメーターの詳細が記載されています。

于 2009-06-06T11:14:53.260 に答える
2

このエラーは、最初に何もコミットせずに新しいリポジトリにプッシュしようとした場合にも発生します。試す:

git add -A
git commit -am 'Initial commit'

そして、もう一度押してみてください。

于 2012-06-01T02:30:57.987 に答える
1

ここでは、ブランチ トラッキングを設定する必要があると思います。追跡を有効にするには、次を実行してください

git branch --track my_test origin/my_test

テストする

git push -u origin my_test
git pull origin my_test
于 2011-12-21T11:12:52.587 に答える
0

ローカル リポジトリが、プッシュしようとしているリモート リポジトリと同じ名前であることを確認する必要があります。

まず、「my_test」が「test」になるように git branch -m "test" を使用してリポジトリを変更します。次に、git push origin test だけ

于 2012-09-04T09:28:25.903 に答える