| Title: | A Lightweight API for 'Git' | 
| Version: | 0.1.0 | 
| Description: | A light-weight, dependency-free, application programming interface (API) to access system-level 'Git' https://git-scm.com/downloads commands from within 'R'. Contains wrappers and defaults for common data science workflows as well as 'Zsh' https://github.com/ohmyzsh/ohmyzsh plugin aliases. A generalized API syntax is also available. | 
| License: | MIT + file LICENSE | 
| URL: | https://stufield.github.io/gitr/ | 
| BugReports: | https://github.com/stufield/gitr/issues | 
| Depends: | R (≥ 4.1.0) | 
| Suggests: | knitr, rmarkdown, spelling, testthat (≥ 3.0.0), withr | 
| VignetteBuilder: | knitr | 
| Encoding: | UTF-8 | 
| LazyLoad: | true | 
| Copyright: | Stu Field 2025 | 
| Config/testthat/edition: | 3 | 
| Config/Needs/website: | tidyverse/tidytemplate | 
| RoxygenNote: | 7.3.1 | 
| Language: | en-US | 
| Collate: | 'gitr-params.R' 'gitr-package.R' 'gitr.R' 'gitr-branch.R' 'gitr-checkout.R' 'gitr-commit.R' 'gitr-lint-commit.R' 'gitr-pr.R' 'gitr-sitrep.R' 'gitr-tag.R' 'gitr-trim-sha.R' 'gitr-utils.R' 'zsh.R' | 
| NeedsCompilation: | no | 
| Packaged: | 2025-04-20 18:00:08 UTC; jack | 
| Author: | Stu Field | 
| Maintainer: | Stu Field <stu.g.field@gmail.com> | 
| Repository: | CRAN | 
| Date/Publication: | 2025-04-21 07:00:02 UTC | 
gitr: A Lightweight API for 'Git'
Description
A light-weight, dependency-free, application programming interface (API) to access system-level 'Git' https://git-scm.com/downloads commands from within 'R'. Contains wrappers and defaults for common data science workflows as well as 'Zsh' https://github.com/ohmyzsh/ohmyzsh plugin aliases. A generalized API syntax is also available.
Author(s)
Maintainer: Stu Field stu.g.field@gmail.com (ORCID) [copyright holder]
See Also
Useful links:
Git Branch Utilities
Description
Git Branch Utilities
Usage
gitr_default_br()
gitr_current_br()
gitr_local_br()
Value
character(1). The name of the respective
branch if found, otherwise NULL.
Functions
-  gitr_default_br(): gets the default "main" branch, typically eithermaster,main, ortrunk.
-  gitr_current_br(): gets the current branch.
-  gitr_local_br(): gets all the local branches.
Git Checkout
Description
Checks out as a branch if doesn't exist. Branch
oriented workflow for switching between branches.
If file is passed, checks out the file. A common
shortcut to undoing local changes to a file(s).
Can be a vector of multiple files.
Usage
gitr_checkout(branch = NULL, file = NULL)
Arguments
| branch | 
 | 
| file | 
 | 
Value
NULL ... invisibly.
Examples
## Not run: 
  gitr_checkout("feature-br")
  gitr_checkout(file = "DESCRIPTION")
## End(Not run)
Git Commit Utilities
Description
Git Commit Utilities
Usage
gitr_commit_msgs(sha = NULL, n = 1L)
scrape_commits(n)
gitr_unstage(file = NULL)
gitr_reset_soft(n = 1L)
gitr_uncommit()
gitr_reset_hard()
gitr_diff_commits(top = 1L, n = 2L)
Arguments
| sha | 
 | 
| n | 
 | 
| file | 
 | 
| top | 
 | 
Value
NULL ... invisibly.
A list containing commit message entries.
The sha and author of each commit is added as attributes.
Functions
-  gitr_commit_msgs(): gets the commit messages corresponding to the commitsha.shacan becharacter(n), but must be valid SHAs corresponding to commits in the repository.
-  scrape_commits(): scrapesncommit messages for useful change log commits to be used to create aNEWS.md.
-  gitr_unstage(): un-stages a file from the index to the working directory. Default un-stages all files.
-  gitr_reset_soft(): un-commits the most recently committed file(s) and add them to the staging area.
-  gitr_uncommit(): un-commits the most recently committed file(s) and add them to the staging area. Wrapper aroundgitr_reset_soft()
-  gitr_reset_hard():git reset --hard origin/<branch>.
-  gitr_diff_commits(): gets the diff of the corresponding 2 commits. Order matters!
Examples
## Not run: 
  gitr_commit_msgs()
  gitr_commit_msgs(n = 3)
## End(Not run)
Git Utilities
Description
Provides functionality for system-level Git commands from within R.
Usage
git(..., echo_cmd = TRUE)
is_git()
git_version()
Arguments
| ... | Additional arguments passed to the system
command-line  | 
| echo_cmd | 
 | 
Value
git(): The system call ... invisibly.
is_git(): logical(1).
git_version(): character(1).
The system version of git.
Functions
-  git(): executes agitcommand line call from within R.
-  is_git(): is current working directory agitrepository?
-  git_version(): gets the version of git in use.
Examples
## Not run: 
  git("status", "-s")
  git("reset", "--soft", "HEAD~1")
  git("tag", "-n")
  is_git()
  git_version()
## End(Not run)
Common Lints for Commit Messages
Description
Lint a commit message for typical commit style and best practices for git.
Usage
lint_commit_msg(x)
Arguments
| x | A single commit message from  | 
Value
integer(1). Invisibly returns the
number of detected lints in the message.
Examples
## Not run: 
  lapply(gitr_commit_msgs(7L), lint_commit_msg)
## End(Not run)
Common Parameters for gitr
Description
Common Parameters for gitr
Arguments
| n | 
 | 
| file | 
 | 
| branch | 
 | 
| sha | 
 | 
Git PR Utilities
Description
Git PR Utilities
Usage
gitr_pr_msgs(branch = NULL)
gitr_pr_sha(branch = NULL)
Arguments
| branch | 
 | 
Value
gitr_pr_msgs(): see gitr_commit_msgs().
gitr_pr_sha(): character vector of SHAs
corresponding to the PR (relative to the default branch).
Functions
-  gitr_pr_msgs(): gets the commit messages for the current branch relative to theorigin/{main,master}branch in the remote. Typically these "new" commits that would be merged as part of a PR toorigin/{main,master}.
-  gitr_pr_sha(): gets the commit SHA-1 a branch (by default current) relative to thedefaultbranch in the remote, usually eitherorigin/mainororigin/master. Seegitr_default_br(). If there are un-pushed commit on the current default branch, it returns them.
Examples
## Not run: 
  # SHAs from feature branch differ from default br
  gitr_pr_sha()
  # commit messages from the SHAs above
  # for a PR `branch` -> `remotes/origin/{main,master}`
  gitr_pr_msgs()
  # for a feature branch -> default branch
  gitr_pr_msgs("feature")
## End(Not run)
SHA1 Utilities
Description
SHA1 Utilities
Usage
gitr_trim_sha(sha)
is_sha(sha)
gitr_current_sha()
Arguments
| sha | 
 | 
Value
gitr_trim_sha(): character(1). The trimmed sha.
If sha is not a SHA1 hash, the identical string unchanged.
is_sha(): logical(1). If sha matches the
SHA1 expected pattern.
gitr_current_sha(): character(1). The sha
of the current commit.
Functions
-  gitr_trim_sha(): trims theSHA-1hash from the default full length to the human-readable short version.
-  is_sha(): determines whether strings to be tested are aSHA1hash via regular expression ("^[a-f0-9]{5,40}$") match.
-  gitr_current_sha(): gets the current (most recent commit) SHA.
See Also
Git Situation Report
Description
Get a situation report of the current git repository.
Usage
gitr_sitrep()
Value
NULL ... invisibly.
Git Tag Utilities
Description
Git Tag Utilities
Usage
gitr_recent_tag()
gitr_tag_info()
Value
gitr_recent_tag(): character(1). The most recent tag.
gitr_tag_info(): A data frame summarizing the repository tags.
Functions
-  gitr_recent_tag(): gets the most recentgittag.
-  gitr_tag_info(): gets a data frame summary of the current git repository tags.
Examples
## Not run: 
  gitr_recent_tag()
  gitr_tag_info()
## End(Not run)
Z-shell Aliases
Description
Provides functions to common Z-shell git plugin aliases.
Usage
glog(n = 10L)
gcc(...)
gcmsg(msg = "wip")
gco(branch = NULL)
gcb(branch = NULL)
gpr()
gp(...)
gpu()
gpd()
gst()
gss()
gba()
gbd(branch = NULL, force = FALSE)
gbmm(branch = gitr_default_br())
gbnm(branch = gitr_default_br())
gbm(branch = NULL)
ga(...)
gaa()
gau()
gsta()
gstl()
gstaa(n = 0)
gstd(n = 0)
gstc()
gsts(text = FALSE)
gpop()
gstp()
gtn()
gfa()
gac()
gwip()
gclean(dry_run = TRUE)
gdf(file = NULL, staged = FALSE)
gpf()
gnuke()
gcf(global = FALSE)
gcm()
grm(...)
grbc()
grba()
grbs()
grbm()
grv()
Arguments
| n | 
 | 
| ... | Additional arguments passed to the system
command-line  | 
| msg | 
 | 
| branch | 
 | 
| force | 
 | 
| text | 
 | 
| dry_run | 
 | 
| file | A full file path within the repository to diff. | 
| staged | 
 | 
| global | 
 | 
Value
Most aliases invisibly return NULL ... with some exceptions.
Functions
-  glog(): Get thegitlog in a pretty format for thenmost recent commits.
-  gcc():git commit .... To avoid masking thebase::gc()function, this alias has been re-mapped togcc().
-  gcmsg():git commit -m <msg>.
-  gco():git checkout.
-  gcb():git checkout -b <branch>.
-  gpr():git pull --rebase.
-  gp():git push.
-  gpu():git push -u origin.
-  gpd():git push --dry-run.
-  gst():git status.
-  gss():git status -s.
-  gba():git branch -a.
-  gbd():git branch -dD.
-  gbmm():git branch --merged <branch>.
-  gbnm():git branch --no-merged <branch>.
-  gbm():git branch -m.
-  ga():git add ....
-  gaa():git add --all.
-  gau():git add -u.
-  gsta():git stash.
-  gstl():git stash list.
-  gstaa():git stash apply. Note zero-indexing!
-  gstd():git stash drop. Note zero-indexing!
-  gstc():git stash clear. Danger!
-  gsts():git stash show.
-  gpop():git stash pop --quiet --index.
-  gstp(): Seegpop().
-  gtn():git tag -n.
-  gfa():git fetch --all --prune.
-  gac():git commit --no-verify --amend --no-edit.
-  gwip():git commit --no-verify -m 'wip'.
-  gclean():git clean -f -d.
-  gdf():git diff <file>.
-  gpf():git push --force-with-lease.
-  gnuke():git reset --hard && git clean -df.
-  gcf():git config --localorgit config --global.
-  gcm(): Checkout the default branch.
-  grm():git rm ....
-  grbc():git rebase --continue.
-  grba():git rebase --abort.
-  grbs():git rebase --skip.
-  grbm():git rebase gitr_default_br().
-  grv():git remote -v.
Examples
## Not run: 
  glog()
## End(Not run)