可能です。
参考記事: 【Git】別のブランチにpushしたいとき - Qiita
pushコマンドのブランチ名を省略無しにする必要があります。
git push origin test:master
Gitにおけるpush
コマンドはのブランチ名の箇所に関しては
省略せずに記述するとローカルのブランチ名:リモートのブランチ名
となります。
省略してブランチ名だけ記述すると勝手にmaster:master
等のようになります。
失敗パターンとして実際に私がローカルで適当なファイルをコミットして試した履歴が下記になります
(一部マスキングしています)
bash
1# テストブランチ作ってコミット履歴を進めてみる
2$ git checkout -b test
3$ git add .
4$ git commit -m "tmp"
5
6# 別ブランチからのPushを試してみる
7$ git push origin master
8Everything up-to-date
9
10# testブランチの情報を取り込みmasterブランチでのPushを試してみる
11$ git checkout master
12$ git merge test
13$ git push origin master
14Total 0 (delta 0), reused 0 (delta 0)
15To github.com:xxxx/xxxx.git
16 ef3ba37..8b7ef5f master -> master
17
18
このようにtest -> masterはPushが出来ませんでしたが、
master -> masterのPushは成功しました。
なので一旦状況を戻してtest:master
のブランチ指定を試してみます。
bash
1# masterを元のコミットに復旧させtestブランチにカレントブランチを変更
2$ git reset [元のコミットID]
3$ git push -f origin master
4$ git checkout test
5
6$ git push origin test:master
7Total 0 (delta 0), reused 0 (delta 0)
8To github.com:xxxx/xxxx.git
9 ef3ba37..8b7ef5f test -> master
無事成功しました。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/02/15 00:33