| 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)