web-dev-qa-db-ja.com

ローカルブランチをGitHubにプッシュする

git Pushを実行すると、GitHubリポジトリに変更がプッシュされるようにGitを構成しています。これまで私はマスターブランチしか持っていませんでした。

ただし、ローカルブランチを作成し、次を使用してコミットしました。

git checkout -b my_new_branch
git commit

ここでやりたいことは、このブランチでの変更をGitHubにプッシュすることです。 git pushするだけですか?

最初にセットアップしたとき、実行しました:

git config Push.default current
117
Noam

Originリモートがgithubリポジトリをヒットするように設定されていると仮定すると、git Push Origin my_new_branchを探していると思います。

221
Tom

ローカル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
9
xaxxon

あなたが本当に怠けているなら、 すべてのローカルブランチをプッシュ

git Push --all

-all

すべてのブランチをプッシュします(つまり、refs/heads/の下の参照)。他の<refspec>と共に使用することはできません。

0
serv-inc