7

repoを使用してブランチを切り替えることについて質問があります。次のようなブランチをチェックアウトできることを知っています。

$ repo init ... -b foo
$ repo sync

私の理解では、これによりマニフェスト リポジトリの foo ブランチがチェックアウトされ、マニフェストに記載されているように git プロジェクトがチェックアウトされます。

また、次のようにブランチを切り替えることができることも理解しています。

$ repo init ... -b bar
$ repo sync -d

私の質問は、毎回 repo init と repo sync を実行せずにブランチを切り替えることはできますか?そうすることの意味は何ですか?

例を挙げて説明しましょう:

$ repo init ... -b foo
$ repo sync -d
$ repo start foo-mytopic proj1 proj2
 ... make some commits ...
$ repo upload -t
$ repo init ... -b bar
$ repo sync -d
$ repo start bar-topic proj1 proj3
$ repo upload -t
$ cd proj1
$ git checkout foo-mytopic # IS THIS ALLOWED?

以前にこれを試してみましたが、うまくいくようですが、 fooマニフェストにあったコードをチェックアウトしたので少し奇妙ですが、現在のマニフェストブランチはbarです。マニフェストに記載されているものとは異なるブランチにいることの意味は何ですか?

注: 私はこれを読みましたが私の質問は違うと思います。ブランチを切り替える方法を知っています。現在のマニフェストに記載されているものとは異なるブランチにいることの意味と、これがワークフローにどのように影響するかについて興味があります。

4

2 に答える 2