Get the App
SLTechnology News&Howtos  ›  Servers  › 

How to use the Rugged::Reference and Rugged::Branch classes

Shulou Source: shulou.com Published: 2022-05-31 12:25:03 10月04日 Update

This article mainly explains "how to use Rugged::Reference and Rugged::Branch classes". Interested friends may wish to have a look at it. The method introduced in this paper is simple, fast and practical. Now let the editor take you to learn how to use Rugged::Reference and Rugged::Branch classes.

Rugged::Reference class

Reference can be Branch,Remote Branch, Tag, AnnotationTag or point to other Reference, each Reference points to a target, the target can be a Reference, or AnnotationTag, in this case Reference.type=:symbolic, if target is a Commit, then Reference.type=: direct

A) get the Rugged::Reference object

Refs = repo.references#Rugged::ReferenceCollection ref = refs ["ref_name"] refs.each# iteration refs.each_name# iterate refs.exist by name? (name) # does refs.exists exist? (name) # does it exist

B) basic methodology

Valid_name? (ref_name)-> true or false

Check whether reference name is well-formed (well-constructed)

Peel-> oid

??

Name canonical_name

Get the name of the reference

Type->: symbolic or: direct

Get the type of reference

Target ref1.type # = > symbolic ref.1.target = > # ref1.target_id # = > "refs/heads/master" ref2.type # = >: direct ref2.target # = > # ref2.target_id # = > "de5ba987198bcf2518885f0fc1350e5172cded78"

Gets the target and target_id to point to. If reference is a symbolic reference, the target reference object is returned. If the reference is a direct reference, the target object.

Resolve-> peeled_ref r1.type # = >: symbolic r1.name # = > 'HEAD' r1.target # = >' refs/heads/master' R2 = r1.resolve # = > # r2.target # = > '9d09060c850defbc7711d08b57def0d14e742f4e'

Get the target reference pointed to by symbolic reference

Branch?- > true or false

Determine whether the current reference is a local branch

Remote?-> true or false

Determine whether the current reference is a remote branch

Tag?-> true or false

Determine whether the current reference is a tag

Log log? -> true or false-- whether there is reflog reference.log # = > [# {#: id_old = > nil,-- change the previous oid #: id_new = > '9d09060c850defbc7711d08b57def0d14e742f4eforth,-- New oid #: committer = > {: name = >' Vicent Marti',: email = > {'vicent@github.com'}, #: message = >' created reference' #},...]

2. Rugged::Branch class (inheriting Rugged::Reference)

A) get the Rugged::Branch object

Branches = repo.branches # Rugged::BranchCollection branch = branches ["branch_name"] branch.each brach.each_name

B) basic methodology

= (other)

Judge whether two branches are equal or not

Head? → true or false

Whether the HEAD points to the current branch

Name → string

Get the branch name

Remote_name → string

Get the remote name to which the branch belongs

Remote ()

Get the remote of the current branch

Upstream → branch upstream = branch

Gets and sets the remote trace branch. The parameter branch is Rugged::Branch or the Rugged::Reference.

3. Rugged::Tag class (inheriting Rugged::Reference)

A) get the Rugged::Tag object

Tags = repo.tags # Rugged::TagCollection tag = tags ["tag_name"] tags.each tags.each_name

B) basic methodology

Message # = > "Release v0.16.0, codename 'broken stuff'"

Get the message of tag

Name # = > "v0.16.0"

Get tag name

Tagger # = > {: email= > "tanoku@gmail.com",: time= > Tue Jan 24 05:42:45 UTC 2012,: name= > "Vicent Mart\ 303\ 255"}

Get the author signature (signature) of tag

Target_oid # = > "2cb831a8aea28b2c1b9c63385585b864e4d3bad1" target_id # = > "2cb831a8aea28b2c1b9c63385585b864e4d3bad1"

Get the oid that points to the object

Type # = >: blob,:commit,:tree,:tag

Get the type that points to the object

Target-> git_object

Get the target pointed to by tag

At this point, I believe you have a deeper understanding of "how to use Rugged::Reference and Rugged::Branch classes". You might as well do it in practice. Here is the website, more related content can enter the relevant channels to inquire, follow us, continue to learn!

Tags: Point branch object method content ownership type learning iteration utility deeper two interest parameter name name utility practical simple operation more Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Shulou Technology Docker Shulou Tech Info MariaDB NVidia