2011-12-22 6 views
3

私はgitの問題/質問があります。リモートブランチへのプッシュ

私たちはリモートrepoとしてbitbucketを使用しています。今まで私たちはマスターブランチしか持っていませんでした。

私がこれに取り組んでいる他の人は、「開発」ブランチを作成しました。プロジェクトは現在、私たちが作業を続けるために生きています。

私は地元で働いていて、変更を加えてコミットしました。

これをリモートの「開発」ブランチにプッシュします。

私は

git push origin develop 

はそれを行うだろうと思ったが、私は、これは何を意味するの

error: src refspec develop does not match any. 

を取得します?。私は開発枝が本当に存在するのを見ることができるので、何が間違っているのですか?

ご協力いただきありがとうございます。

答えて

1

developどこに?地元?リモート?または両方?試してください:

git push origin HEAD:develop 
+0

開発はリモートにしか存在しません。私はmasterブランチでローカルに働いています...これは問題だと思います。私はHEADをしようとしました:これを開発してください... – markstewie

+0

エラー:「https://[email protected]/mark_stewart/museum-poisoners.git」へのいくつかのリファレンスをプッシュすることに失敗しました 履歴を失うのを防ぐために、 -fast-forward updatesが拒否されました リモートの変更(例えば 'git pull')をマージしてから、再度押します。詳細については、 'git push --help'の 「早送りに関する注意」を参照してください。 – markstewie

+0

これは '非早送り'更新です。つまり、リモートリポジトリの一部の変更はローカルにありません。あなたは押し込む前にそれらを引っ張るべきです。 –

0

あなたはまだサーバーから開発を引き出していません。リモート開発ブランチがありますが、ローカル開発トラッキングブランチはありません。

git checkout develop 

これにより、ローカル開発追跡ブランチが作成されます。

変更をすでにコミットしている場合、それらの変更は以前使用していたマスターブランチ上にあります。これらの変更を開発ブランチに移すのは少し複雑です。

実際に発生している問題を特定したら、これらの変更を移行することができます。

3

あなたの答えをありがとう、私は再び働いている。

これは私がやった方法です。

私は

git pull origin master 

を行なったし、それは私の地元のレポを更新し、リモートブランチ

を開発し、私はその後、私の地元への切り替えを

git checkout develop 

をやっていた、今知っていました枝を開発する。

git merge master 
私は

git push origin develop 

をやってその後開発ブランチ にマスターで行われていたすべての変更をマージする

がうまく働きました。

私の変更は開発ブランチでは安全です。マスターブランチ(私が働いていた場所)を元に戻して、リモートのマスターブランチと同じにすることができます。

わかりませんこれが最も簡単な方法でしたが、私はgitについて多くのことを学びました。

ご回答いただきありがとうございます。

1

あなたは

git push <repo> <src> 

を使用している場合など、 Gitのプッシュ起源は

を開発し、その後gitのは、それが同じのリモートブランチにプッシュするために取ることができることを「開発」と呼ばれるローカルブランチを見つけることを期待します名。その名前のローカルブランチがないので、エラーが発生します。だから、

、あなたが局所的に異なる名前を持つ新しい(または既存の)リモートブランチにプッシュしたいならば、あなたは、次の操作を行います。

git push <repo> <src>:<dst> 

例えば、

git push origin master:develop 

うまくいくはずです。 *チェック*。します。

0

あなたの仕事を忘れましたか?これは、空のレポをクローンし、ファイルを追加しますが、プッシュする前にコミットするのを忘れた場合に発生します。

関連する問題