質問
私は2つの支店を持つgithub.comで公開リポジトリがあります。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
と、それは早送りが生じます。
私はいくつかの変更を加え、それらを約束しました。 それから私は、
と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のプッシュ原点テスト