ローカル ブランチでいくつかのコードに取り組み、次のコマンドを使用してリモート テスト リポジトリにプッシュしました。
git push origin fix_vouchers:fix_vouchers
他の開発者がこのコードをテストできるように、そのリモート リポジトリのアクティブ ブランチを変更したいと考えています。ローカル環境からこれを行うことはできますか?
ローカル ブランチでいくつかのコードに取り組み、次のコマンドを使用してリモート テスト リポジトリにプッシュしました。
git push origin fix_vouchers:fix_vouchers
他の開発者がこのコードをテストできるように、そのリモート リポジトリのアクティブ ブランチを変更したいと考えています。ローカル環境からこれを行うことはできますか?
リモート リポジトリが単なる共有ポイント、裸のリポジトリである場合は、コードを含むブランチを他の開発者に伝えるだけの方がよいでしょう。
ただし、後のコメントでは、リモート リポジトリが Web サイトとして提供されるチェックアウトであることを暗示しています。現在アクティブなブランチにプッシュした場合でも、プッシュによってそのブランチの HEAD が自動的にチェックアウトされるわけではないことに注意してください。
リモートマシンへのシェルアクセスがなければ、あなたが望むことはできないと思います。そこに何らかの影響力がある場合は、post-receive フックを設定して新しいブランチをチェックアウトするように依頼できます。
もちろん、ssh アクセスがあれば、
ssh remote.net "cd /path/to/repo; checkout fix_vouchers"
いいえ、ローカル コマンドを使用して、リモートのベア リポジトリにアクティブ ブランチを設定することはできません。
アクティブなブランチは、HEAD が指すブランチです。これは、デフォルトでデフォルト ブランチをチェックアウトするなど、いくつかの git コマンドがリポジトリのデフォルト ブランチとして表示するgit clone <url> <name>
ブランチです。
リモート リポジトリにコマンド ラインでアクセスできる場合は、git symbolic-ref
コマンドを使用してデフォルトのブランチを設定できます。参照:ベア リポジトリにデフォルトの git ブランチを設定する.
とはいえ、チェックアウトした特定のブランチについて特別なことは何もありません。任意のブランチは、特にコマンドを使用してリモート ブランチに関連付けられたブランチを作成することで、別の開発者と共有できますgit checkout -b <branch>
。ここで、共有したいリモート ブランチの名前です。これにより、ローカル リポジトリにブランチが作成され、リモート ブランチに対して追跡されます。
私の見解。リモートにはアクティブブランチと呼ばれるものはありません。ブランチがアクティブかどうかは、あなた次第です。
あなたのシナリオに来ます。releaseCandidate または release または devBranch と呼ばれる新しいブランチをリモートにプッシュできます。そして、それをテスト/開発ブランチとして使用するよう全員に伝えます。
しかし、他の開発者が checkout に特定のスクリプトを使用しているような問題がある場合は、そのスクリプトを変更する必要があるかもしれません。