[解決済み】ブランチを指定せずにgit pushした場合のデフォルトの動作
質問
以下のコマンドでリモートブランチにプッシュしています。
git push origin sandbox
もし私が
git push origin
それとも、現在のブランチだけを更新するのでしょうか? 私は3つのブランチを持っています。
master
,
production
と
sandbox
.
は
git push
のドキュメントでは、この点についてあまり明確になっていませんので、いい加減はっきりさせたいと思います。
どのブランチとリモートが以下を行うか
git push
コマンドは正確に更新しますか?
git push
git push origin
origin
上記はリモートです。
と理解しています。
git push [remote] [branch]
は、そのブランチのみをリモートにプッシュします。
解決方法は?
git config で push.default を設定することで、デフォルトの挙動を制御することができます。以下より git-config(1) ドキュメント :
push.default
コマンドラインで refspec が指定されていない場合、リモートで refspec が設定されていない場合、そしてコマンドラインで指定したオプションのいずれによっても refspec が暗示されていない場合に、git push がとるべき動作を定義します。指定できる値は次のとおりです。
-
nothing
: 何も押さない -
matching
: (Git 2.0 以前のデフォルト) 一致するすべてのブランチをプッシュする両端に同じ名前を持つすべてのブランチが一致するとみなされます。
-
upstream
: 現在のブランチをその上流側のブランチにプッシュします (tracking
は非推奨のシノニムです) -
current
: 現在のブランチを同名のブランチにプッシュします。 -
simple
: (Git 1.7.11 の新機能、Git 2.0 以降はデフォルト) 上流と同様、上流ブランチの名前がローカルと異なる場合はプッシュを拒否します。これは最も安全なオプションで、初心者に適しています。
シンプルモード、カレントモード、アップストリームモードは、他のブランチがまだプッシュできる状態でなくても、作業を終えてから一つのブランチをプッシュしたい人のためのものです。
コマンドラインの例です。
現在の設定を表示する場合。
git config --global push.default
新しいコンフィギュレーションを設定する。
git config --global push.default current
関連
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] 新しいローカルブランチをリモートの Git リポジトリにプッシュし、それを追跡するにはどうすればよいのでしょうか?
-
[解決済み] git rebase の取り消し
-
[解決済み] Git のリモートブランチを作成する方法を教えてください。
-
[解決済み] Git フェッチ リモートブランチ
-
[解決済み] リモートにないトラッキングブランチを削除
-
[解決済み] Git で最新のコミットを新しいブランチに移動する
-
[解決済み】既存のGitブランチをリモートブランチに追従させる?
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[gitコミット失敗の解決] 現在のブランチの先端が後ろにあるため、更新が拒否されました。
-
[解決済み] リモートから<branch name>とマージするように構成が指定されていますが、そのような参照は取得されませんでしたか?
-
[解決済み] 複数のgitコミットを元に戻すには?
-
[解決済み] ブラウンアウトの一環として、パスワード認証が一時的に無効になっています。代わりに個人用アクセストークンを使用してください[重複]。
-
[解決済み] git push to specific branch (特定のブランチにプッシュする)
-
[解決済み] なぜ `--set-upstream` を常に実行する必要があるのですか?
-
[解決済み] 警告: push.default は設定されていません。その暗黙の値は Git 2.0 で変更されています。
-
[解決済み] git diff の出力を自分の好みの diff ツール/ビューアで表示するにはどうすればよいですか?
-
[解決済み] Git - 現在のブランチをプッシュするショートカット
-
[解決済み】Gitのfetchやpullで自動プルーニングを行う。