web-dev-qa-db-ja.com

git push to remote branch

皆さん、

リポジトリを複製しました。次のコマンドを発行して、機能で動作するブランチを作成しました。

git branch fix78

それから私はそのブランチに取り組みました

git checkout fix78

私はこのローカルブランチにコミットし続けました。今、私はこれをリポジトリにプッシュしたかったので、次のコマンドを発行しました:

git Push Origin master:fix78

Webブラウザーからレポジトリを表示すると、fix78という新しいブランチがレポに作成されていることがわかりました。しかし、私が行ったコミットはありませんでした。

ここで何が間違っていますか?これは私が達成しようとしているものです:

Repo(master(trunk in the SVN lingo))があり、機能に取り組んでいるときに、そのローカルブランチを作成し、このブランチをレポにチェックインしたい(他のチームメンバーは私が作業しているものを見ることができます)、ローカルブランチを、作成したこのリモートブランチと同期させる必要があります。

任意のヘルプ/フィードバックは完全に素晴らしいでしょう。

ありがとう。

48
Rubyalto

git Push Origin master:fix78は、ローカルマスターをfix78というリモートブランチにプッシュします。ローカルブランチのfix78をプッシュしたい。これは同じ構文であるがmaster:なし

git Push Origin :fix78を実行してリモートブランチを削除し、git Push Origin fix78を実行してローカルブランチをリモートリポジトリにプッシュすることで修正できます。

61
rlc

プッシュコマンドの形式は

git Push remote_name source_ref:destination_ref

エラーを修正するために必要なことは

git Push Origin +fix78:fix78

プラスは、前のプッシュがエラーだったため、そのブランチが履歴を失う可能性があることを気にしないことを示します。

代替構文は

git Push -f Origin fix78

宛先を省略すると、同じ名前であることを暗示します。追跡がリモートの特定のブランチに設定されている場合、そのブランチに進みます。ブランチの削除には2つの構文があり、古いものがあります。

git Push -f Origin :fix78

そして

git Push --delete Origin fix78

1つ目は「fix78に何もプッシュしない」と読み、削除します。

1つの秘isは、.をリモート名として指定すると、現在のリポジトリがリモートとして暗示されることです。これは、ローカルブランチをチェックアウトせずに更新する場合に便利です。

git Push . Origin/master:master

マスターをチェックアウトすることなくマスターを更新します。

お役に立てれば

52
Adam Dymitruk