追跡ブランチの変更をリモートブランチへ反映させて同期をとることです
ローカルブランチの作業が終わったら、リモートブランチへ共有するためにプッシュします
作業用にローカルブランチを作成していた場合は、その作業ブランチ自体は追跡ブランチではありませんので、リモートリポジトリに関連付けられたブランチは存在していません。プッシュする前に master 等の追跡ブランチへ作業ブランチの内容をマージしてから、プッシュを行いましょう
例えば、develop1, develop2 ブランチは追跡ブランチでないので、ローカルリポジトリにしか存在しませんので、プッシュ操作時のダイアログのリモートブランチが空欄になっています

これをプッシュ対象としてチェックすると、自動的にリモートブランチにブランチ名がセットされて追跡ブランチと設定されます

ここでそのまま実行するとリモートリポジトリ上にそのブランチが作成されてしまいます
ここ注意です (^^)
Origin/master と別のリモートブランチを作成したい時は、新たにリモートブランチを作成することに問題はありませんが、作業ブランチとしてしか考えていない場合は、リモートブランチを作成することは考えていませんので、誤ってチェックしないように気をつけましょう (^^)
※間違ってリモートリポジトリ上にブランチを作成してしまった場合は、ブランチボタンをクリックして、ブランチを削除から該当するリモートブランチを指定して削除すればOKです
それでは、気を取り直して develop2 の内容を追跡ブランチ master にマージ

作業ブランチをマージした master をプッシュしてみます

リモートブランチが更新され origin/master と同期が取れました

GitBucketから見てみる
SouceTree で見たのと同じようにコミットされてます

作業ツリー develop2 が不要になったので削除

Develop2 のブランチが削除されました

こんな感じでプッシュ時はちょっと手間が増えますが、リモートリポジトリに無駄なブランチを誤って作成しないように気をつけましょう
ローカルブランチの作業が終わったら、リモートブランチへ共有するためにプッシュします
作業用にローカルブランチを作成していた場合は、その作業ブランチ自体は追跡ブランチではありませんので、リモートリポジトリに関連付けられたブランチは存在していません。プッシュする前に master 等の追跡ブランチへ作業ブランチの内容をマージしてから、プッシュを行いましょう
例えば、develop1, develop2 ブランチは追跡ブランチでないので、ローカルリポジトリにしか存在しませんので、プッシュ操作時のダイアログのリモートブランチが空欄になっています

これをプッシュ対象としてチェックすると、自動的にリモートブランチにブランチ名がセットされて追跡ブランチと設定されます

ここでそのまま実行するとリモートリポジトリ上にそのブランチが作成されてしまいます
ここ注意です (^^)
Origin/master と別のリモートブランチを作成したい時は、新たにリモートブランチを作成することに問題はありませんが、作業ブランチとしてしか考えていない場合は、リモートブランチを作成することは考えていませんので、誤ってチェックしないように気をつけましょう (^^)
※間違ってリモートリポジトリ上にブランチを作成してしまった場合は、ブランチボタンをクリックして、ブランチを削除から該当するリモートブランチを指定して削除すればOKです
それでは、気を取り直して develop2 の内容を追跡ブランチ master にマージ

作業ブランチをマージした master をプッシュしてみます

リモートブランチが更新され origin/master と同期が取れました

GitBucketから見てみる
SouceTree で見たのと同じようにコミットされてます

作業ツリー develop2 が不要になったので削除

Develop2 のブランチが削除されました

こんな感じでプッシュ時はちょっと手間が増えますが、リモートリポジトリに無駄なブランチを誤って作成しないように気をつけましょう

コメントをかく