質問

私は2つの支店を持つgithub.comで公開リポジトリがあります。mastertest

私はローカルに新しいディレクトリを作成しました:

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

それから私は、

my_testという名前の新しいブランチを作成しました
[ ] 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

私が間違って何をしているのですか?

役に立ちましたか?

解決

おそらく試みるます:

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

は、コマンドライン上の最後のパラメータのフォーマットは、コロンと、宛先REF続い源REFは refspec です。また、あなたが正しいブランチをプッシュしている特定する代わりに、HEADの最寄りの支店名(my_test)を使用することができます。

git push のためのドキュメントはより多くを持っていますこのパラメータの詳細ます。

他のヒント

また、あなたは全体のURLにあなたがプッシュするたびに出て入力する必要はありません。それはあなたの「起源」サーバー上の「試験」の枝を意味します - あなたはクローンを実行すると、Gitはあなたが「起源/テストをマージ」のような何かを実行できる理由です、「起源」としてそのURLを保存しました。だから、その場合には、サーバーにプッシュする最も簡単な方法は以下のようになります:

git push origin my_test:test

それはあなたの「起源」サーバー上の「試験」の枝にあなたの地元の「my_test」ブランチをプッシュします。あなたは、サーバー上の枝と同じお近くの支店を命名していた場合は、コロンはneccesaryではありません、あなたは簡単に行うことができます:

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のブランチ-m "test" を使用して

まず、変更リポジトリ "my_testは" "テスト" になるように。 第二に、ちょうどgitのプッシュ原点テスト

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top