class Rugged::Repository
def checkout(target, options = {})
target - A revparse spec for the branch, reference or commit to check out.
Checkout the specified branch, reference or commit.
def checkout(target, options = {}) options[:strategy] ||= :safe options.delete(:paths) return checkout_head(**options) if target == "HEAD" if target.kind_of?(Rugged::Branch) branch = target else branch = branches[target] end if branch self.checkout_tree(branch.target, **options) if branch.remote? references.create("HEAD", branch.target_id, force: true) else references.create("HEAD", branch.canonical_name, force: true) end else commit = Commit.lookup(self, self.rev_parse_oid(target)) references.create("HEAD", commit.oid, force: true) self.checkout_tree(commit, **options) end end