0

これはpygit2を使用して私にとってはうまくいきます:

  1. リポジトリのマスター ブランチのクローンを作成する
  2. ブランチを作成する
  3. 変更を加える
  4. ブランチを起点にプッシュする

これは私にとって失敗しています:

  1. リポジトリのマスター ブランチのクローンを作成する
  2. 既存のブランチをチェックアウトする

私はいつも切り離されたHEADになってしまいます。デタッチされたHEADを取得せずにチェックアウトを行うためのトリックはありますか? 私はこれに1日以上費やしましたが、これを適切に行う方法があるに違いないことはわかっていますが、オンラインで見るすべての例は、以下で行うことを行います...

これは、私が試したすべてのブランチで毎回失敗する、簡略化されたテスト ケースです。

repo = pygit2.clone_repository(url,dir,bare=False,checkout_branch="master",callbacks=RemoteCallbacks())
checkout_branch = repo.branches["origin/{0}".format(branch))
ref = repo.lookup_reference(checkout_branch.name)
repo.checkout(ref)
4

2 に答える 2