git Push
を実行すると、GitHubリポジトリに変更がプッシュされるようにGitを構成しています。これまで私はマスターブランチしか持っていませんでした。
ただし、ローカルブランチを作成し、次を使用してコミットしました。
git checkout -b my_new_branch
git commit
ここでやりたいことは、このブランチでの変更をGitHubにプッシュすることです。 git pushするだけですか?
最初にセットアップしたとき、実行しました:
git config Push.default current
Originリモートがgithubリポジトリをヒットするように設定されていると仮定すると、git Push Origin my_new_branch
を探していると思います。
ローカルgitの設定によっては、クローンを作成したブランチやプッシュしようとしている場所に存在しないブランチをチェックアウトしている場合、gitはローカルブランチをプッシュしません。
これが提供するメッセージは次のとおりです。
警告:Push.defaultは設定されていません。その暗黙的な値は、Git 2.0では「一致」から「単純」に変更されました。このメッセージを抑制し、従来の動作を維持するには、次を使用します。
git config --global Push.default matching
このメッセージを抑制し、新しい動作を今すぐ採用するには、次を使用します。
git config --global Push.default simple
Push.defaultが 'matching'に設定されている場合、gitはローカルブランチを、同じ名前で既に存在するリモートブランチにプッシュします。
Git 2.0以降、Gitはより保守的な「単純な」動作にデフォルト設定され、「git pull」が現在のブランチを更新するために使用する対応するリモートブランチにのみ現在のブランチをプッシュします。
詳細については、「git help config」を参照し、「Push.default」を検索してください。 (「シンプル」モードはGit 1.7.11で導入されました。古いバージョンのGitを時々使用する場合は、「シンプル」の代わりに「現在」モードを使用してください)
致命的:現在のブランチ
MyLocalBranch
にはアップストリームブランチがありません。現在のブランチをプッシュし、リモートをアップストリームとして設定するには、使用しますgit Push --set-upstream Origin MyLocalBranch
あなたが本当に怠けているなら、 すべてのローカルブランチをプッシュ
git Push --all
-all
すべてのブランチをプッシュします(つまり、
refs/heads/
の下の参照)。他の<refspec>
と共に使用することはできません。